'FYir
I AN ARGUS SPECIALIST PUBLICATION
FOR ALL SINCLAIR USERS
VT7,
fllm^u
CREATE
YOUR OWN . . .
Adventure Landscapes
Illuminated Text
Technical Graphics
SPECWORD:
Type-in word processor
for 48/128 Spectrum
*_
MONSTER HITS! ■ Thanatos ■ Infiltrator ■ Avenger!
Mil Rogue Trooper BMarble Madness ■ Cop-Out I
pSSesidemit
Throughout history, in times of anguish and need,
there have arisen great leaders who have turned
away the tides of defeat, deprivation and slavery They
have secured nol only protection and prosperity for
their peoples but also a place in the history of mankind.
Dare yuu stand beside them?
Measure yo j rse If against the evil forces of
today -total war epidemic - starvation - poverty
and prove that you have the power to be
PRESIDENT
BraenaeEigEiag aaaaoBBiBii^EiSE
ddictire
VT Addictive Games Ltd •
10 Albert Road - Bournemouth
Dorset BH1 1BZ ■ Tel: 0202 296404
Designed and programmed by Kevin
Toms, the creator of the all-time
classic "FOOTBALL MANAGER"
FEATURING:
• Oil Exploration and Development
• Battle Tactics and Defence Strategy
• Politics- including Food Policy, Health. Economic
Problems, Vote Winning Ploys etc.
• Finance ■ Oil Sales. Gold Reserves, Exchange
Rates.. .and of course Elections
Now available on Amstrad and Spectrum.
i □ President -Amstrad £9-95 each *
I D President -Spectrum £895eacb •
• Cheque/Postal Order/Access
J Name
t Address •
I ■
» Tel. *
ZX Computing Monthly ■ January 1987
w
^\Az*\\'*$
The Sound of Cheetah
musical peripherals Colled Ihe MKS II Is a lull-:
* polyphonic keyboard wild 61 kevsana pilch tx
3 10 128 patches can be recalled Irom the cho
Readership Survey
orles also figure highly In
I surprisingly Ihe machine
IbymoslZXreadefslsthe
Peter Booth. Mwteyi rJaCMiS
Kempslon, T. F. Barber. Glasgow!
I Turner. Hull. C J. Morrison,
Edinburgh, Ernest Taylor. Cleve-
Trivial Pursuit
Winners
sizeable cortiln- The ZX Trivial Pursi
lers and 36% ot Is Robert Burgess
n an olmosl
fl adventurers,
computer magazines
grand prize ol a golc
In addition, Robert
copy ot Domarks --■-"'
Destruction Test
Konlx at* planning to test th
joystick by attaching It to a specially designed machine Ih
will manipulate II at high speed, non-stop, tor ai long as*
and are offering a £100
prize to the person whose guess Is closest. The eom|
concsde that they have no Idea whether It will be days,
week* or months before the joystick seizes up
Those tempted to take a guess *hould submit their ei
on a postcard giving their name, address and estlmo
Daley Thompson* Decathlon Test, Konlx, do Solution Public
Relation*, 1 Wellington^ Court, Vamdean Parti, Brij
BN1 6TD. The closing date for entries I* 31*t January, IW.
ZX Computing Monthly - January 19B7
An Absorbing Shock
herovylngtogetlntolrie machine guns Cosmic Shock
big league wltn the likes otBal- Absorber is (he name of the
and Superman. But It's apprentice Super hero in a 3D
Apologies
Deeply Struck
irial ack-ack fire, enemy lighter*
ht out as mell at lee It safely
Ai the round groups ot barrage
u mud balloon* and hill
Well Brian . . .
LL
Although he hoinl laid It's 'a game of two halts" (yet)
Brian Clough, the touch line philosopher, i* lending his
name to a new computertboard game from CDS. The
package, called Brian dough* Football Fortune* eonslsls
of cassette, playing board, counter*, footboll player
cards, Immunity card* and vast sum* of money for
transfer deals II* a team manager game lor up lo five
players and the object Is to lake your team lo the top of
the game to your home costs a four-figure fee - £14. vl!
Staylno in the football vein, Argus Pre** Software's
Grcndslam label Is releasing Peter Shllton's Handball
Maradona! A ID goalkeeplng simulation In which you
must keep a clean theel in a variety of game situations.
Handball Maradona coils £6.95.
ZX Computing Monthly ■ January 1987
im
The House of Combat
Melbourne House, as well a* releasing Flit II, the follow-
up lo Way of the Exploding Fist, hove a number of olhei
combat-based action game* in the pipeline
Knuckiebustar* I* set In an urban nightmare future when
criminals are Iraniformed into android slave*. One rebel
and the aim ol the game I* to guide him through the si)
zones of the city through horn ol kamikaze robot* to
Judge Dread, the 2000 AD comic character will bo
lighting the forces ol chao* In Mega City 1. The futuristic
1™, ¥ .e.ii. n ii L_ . 1 ■ „,,,(; pr— . _ .
larchlsts but when the long arm of the law has a gur
>ol can fire heat-ieeklng bullets, the scale* of |ustlce
may be lipped his way.
may be tipped hli i
jquel to Redtiawk will
:woh! the sequel to Redtiawk will be continuing the
->INng cartoon format ol the original In an adventure
;h pits Redhawk against the sinister scientist Dr Lee
huckiedusters and Judge Dndd will retail al £8.95.
Redhawk cost* £7.95.
Spectrum Games Top Ten
1 | 1] Computer Hit* 3
Beau Jolly
J I 7] Trivial Pursuit
Domark
3 [ 4) Paper Boy
Elite
4 I 1} Infiltrator
U.S. Sold
5 ( ) Avenger
4 ( ] The Sreot Escape
Ocean
7 ( ] Dandy
Electric Dreams
• ( | Five Star Same*
Beau Jolly
9 ( ) Trallblazer
« ( J Tdrzan
Marlech
Chart supplied by W.H. Smith
Trivial Pursuit continues to bounce around the chart*. A
former number one, it dropped book to n
umber seven last
month, but 1* yet again challenging f
r the top spot.
Following up their success, Com ark have now released a
Young Players' edition, £14.95, or If you
already own the
Genu* edition the Young Mayors' question pack eo*t* £7.95.
Jewels ot
Darkness
Winners
wich, Cecil Westercriolt. Ulrechl.
Molhew Austin, Chesham, A.
Hulmes, Allrlncham, K. E. Rankin,
Up in the Clouds
nolor bike simulation" as pari of his new g
■or Coscode, called Sky Runner.
er cam* from a couple ol
ravounre movies, Mia ign, uuinit uiiu rviuiii w« fu
led). The scene In Jedl where the flying motor cycles
hurtling through Ihe trees was by tar the most exclil
sequence. Thai was Ihe Inspiration for the action see
Return ol tl
ClOk —
■
operation.
Americana Winners
TenZXreaderscarryoflaquIn- Allan Globs, Ipswich. Mark
telol Americana lltles from US. Syder, Wlndle St. Helens, Jean
■■■;■ are: M A Oalll, Pierre Clegg. London W1, Phillip
London SWB Scott Jones, He5- Goodyear, Market Rosen, David
ton, Melame Hughes. Aide-ley Brewster, Klrcaldy, S. Turner, Isle
Edge. Ian Mocauley, Dudley, of Wight
Wargames
expansion ot Ihe Empire's
territories.
With Battlefield Germany we
are pitched into
contemporary limes with a
confrontation based on a
hypothetical offensive into
Western Germany by
* Pod fc
New Keyboard for QL
Scri on Keyboards, o new company, are mark,
replaoemenl keyboard lor the QL Comprising ot two t
keyboard and replaoemenl housing) II — '-
distinguished b
will remain compatible, althougli m
Streetwise
he first two releases on Domark's new arcade label. Streetwise,
vup" Qrbli Ihe Terrorballls a spherical space ship
ZX Computing Monthly ■ January 1987
£29.95 H £24.95 H £10.95 lr£9.75
i iii// / it/
■ |H53CEH|
mu
l\^lony of us enjoy programming
but unless we hove an objective
find thai we sit ot the computer
and produce yel another
variation of 'Mastermind' or
some other program dinosaur
ample of the worst
kind ot spaghetti programming.
Not very sollstylng. even It It
The aim of this occasional
series is to present a problem,
perhaps a complete program or
maybe a specific routine for you
to apply your talents to and to
discuss the possible solutions,
their suitability, r"" ~
inte roc live section of the
magazine where you will write
to me and comment, criticise,
otfer solutions and even suggest
analysis ZXC has one ot the
largest and most dedicated user
bases ond we hope to offer you
it worry that you may b
that It may not be good e
find It a sophisticated anc
Means to an end
problerr
open to suggestioi
begin with I propc
1. Identity ot probti
2. Break the task lr
developments.
Step 3 may also debate the
suitability of
Ray Elder introduces a
new series In which ZX
readers can pit their
wits against
challenging
programming problems
techniques andtor machln
dependent techniques
So without further ado It
look at the problem which
it they v.
compete
From this II seemed
reasonable to me that they hod
used the technique ot shifting
letters along the alphabetic
matrix by varying amounts, for
example they might have used
Notice the 'wrap round' ettec
on y and Z, now, as we all
> following general
subject fo
nttie
correspond! nfj one beneath it
SO HELLO becomes FCJJM.
Given the task to decode
-■- - message then the
i or logical part of a
likely tc
e THE o
AND, a single letter Is likely tc
I or A and the most frequently
used letter Is often E. However
epends on the message
being long enough to be able
'" identify these clues and try
m out. If the messoge Is very
they make sense, so:
1. Identify
The program needs to accept
coded words Input from the
keyboard, perform each of the
26 offset letler comparisons In
trun, presenting the results to the
operator tor f-~'- ■
Code Puzzle
In a magazine that I infrequently
purchase they ran a competition
(he problem of decoding three
messages which consisted ot
groups of letters into sensible,
meaningful words or phrases. If
2. Breakdown
O) INPUT words or phtase
b) PROCESS each letter by
adding [or subtracting) a
constant value to if
c) OUTPUT processed letters of
(or printer]
d) REPEAT sections b & c 26
times with value of constant
increased by 1 each time (26
letters of alphabet]
3. Possible ways
Taking each section separately,
first we have to decide the form
In which we will type In the
coded message, letter at a lime,
a word or complete phrase. Also
depending on this will be the
means of storing it. a single
string for the whole thing?
dimensioned array perhaps for
IT we use an array thi
the
nlnga single
d of words?
Probably the most simple
means of entry would be to
enter the lot, provided it wasn't
excessively long, in a single
string with single word entry
being useful for short phrases
ond single letter being
Not forgetting that for both the
ZX Computing Monthly ■
LIMA
« m K w
final options □ prompt a
will be needed te
ellher the number of letters c
words to be entered.
The method I chose was h
enter Individual words into a
preset array, however I knew
with the Intention c
program flexible I am leaning
towards entering the whole
ehrase In one go as being the
est option. This will depend C"
the method chosen lo process
string 1 place le
by LET c$=c$(2 TO )+cS(1) -
then printing out the characiers
In thot new string thai were
obtained by the values of the
word arrays. This used several
FOfifNtXT loops and though If
worked. It was very Inelegant.
numeric control vorlable which
Increased lay one each time, It
could even be the loop counter,
and odd It to the ASCII code of
the letter, this could be restored
In another variable or printed
directly to the screen.
With this latter method you
would have to check lor spaces
[if the phrase was entered as a
complefe string) and the wrap
round effect: le any code ever
90 would have to have 26 token
It may be possible to use the
lacl that the address the
ZX Computing Monthly ■ January 1987
computer uses to find the
character set Is given by system
variable CHARS at 23606 and
23607. Increasing 23606 by eight
each time has the same effect
as the last suggestion excepl It
may be more difficult to allow
lor the wrap effect.
Finally the output, screen or
printer? Should II wait for a
of possible decoded letters has
been produced or just pause tor
o predetermined time? Should
be Included,
All this will depend on the
srojected length of the code to
— -nd possibly on
processing was chosen, and
t am aware that there mo-
other, better ways of going
about the task, but fhls was
Intended lust to throw out sor
ideas I hope you'll throw son
4. Development
So we get to fhe solution of o
designing a system to encod
messages in the first place, a
relatively easy task.
Would It be worth a routine to
check that the words havent
simply been reversed (as In
Hewson's famous Selddab
aliens)?
H may be useful to Include an
anagram or scramble routine.
Could a program be
developed to decode more
Could the program Identify a
possible solution on Its own
without needing a human to sit
and look at each offering? A
Dictionary program such as a
spelling checker would be
useful tor this. Is there one on the
market? Could you write one?
how would the words be stored
(Mlcrodrlves ol least!).
Over to you
I hope this gets the old grey
matter working, 1 would be very
programs to perform the set task
[not Including any
developments). My gash version
was 23 lines long, if your
program is equal lo or shorter
than this then pop it in the post,
in this case we will accept
handwritten or printout ol your
code without a cassette tape
and the most elegant solution
will be featured In a future Issue
— with a suitable reward of
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YZABCDEFGHIJKLMNOPQRSTUVWX
I. Op
H
Y
(SES53
software getting harder
_m & Am s trad
available November 20th
Commodore 64
available January 20th
IW
Mi
A programming duet to
convert your Spectrum
or QL Into a musical
keyboard. Your
conductor: David
Nowotnlk.
not only enjoyed playing
"Santa's Dilemma", but got sc
pleasure from hearing your
computer play a Christmas
5 the h
ight, I thought
get the tunes
ly, AnrJ the listings
appearing In "
Both programs, one for 48K
Spectrum and Spectrum Plus
[fig. 1) and QL (lig. 2] allow your
computer keyboard to be used
as a muslcol keyboard,
stretching |ust over one octave.
The two programs work In much
the same way, so a single
description of how to use them
shou la suffice So, once you
have typed in the appropriate
listing, SAVE and RUN It.
Typing In the listings should
be straight forward, apart,
perhaps. Irom the graphics
characters of line 730 In the
Spectrum listing. Here, once you
have entered 'LET aS=" ', press
CAPS, and keep It pressed down
while you press the following
sequence ot keys:
4.9>,9,3,9,5,9
then close the quotes, and press
ENTER.
■
Z
2
4
a.
a.
|
i
a
i—
O
ZX Computing Monthly ■ January 1987
LUU
# fe ^
<
a
O
O
tx
a.
_i
s
ary 1987 I
ZX Computing Monihlv
January 1987
£
S
<
a.
O
O
a.
a.
—i
i
LIIIJ
Flaun 1
nine Maker — QL
Listing
:i" eHOKpILt B r.=tl... lo c B
|sk e£Fbs"
IS:""^?;""™""
IS ""Ss'HT !"'
:'i'.:: S v:i p ""o 7
IE III EiE 1 :":;;.. .,„
-7° CUR5DR .:li,''' 50
ii :;! Bi^* t "" , '" a
^ ^~^ Jt „-
III -7I SxitItumE 1
.;;;; ; r ^ ;',^ M
^r 010 "' ~--'™»
i| ssSs;;"-"
lEgQ""
|i£±"'
ii s?""S*ii:'f s'sr ""'°
5 s- -"-
"° ;^«"-thL em, „„, Jra
§f|ip»"Hr"
t§ jSrSr-
III pm"i'.'* 1'. siv™ Kr ~~
is ,.:";"■ ••" ™"-" '"■"*■'
™ B»i;;" m .„u , iS""
*» E«D E 5^'«ECOS""" " BB °" ™ E '° * 2 '" S
600 If"^"*'" 1 '
:"o W„ PRDG.O.r. PLAYBACK Ib^in, .ndlngl
t£ ™,^i" £^*r B
11 if^ilrs:!™^™^-
t« loc;?*,;"*;.;?." , " i:h -" e ''
II ^hniHr^ 000
1 ?^ri\ ' lf " ™ E " ,T '
l| giifp;'"""" """ """ ™" "" '""'
1 *"p§ :
lis :%IS;;;,-:-sk'i»::.,
| JS o
'1: ■.r's:;":;"::.;"™" "•>•"'-'■■■
| .JiSff' k '""°
| jyp; k 7
||5|i:;~~- ■--
I"° Lnc;;"/" 011 """"" Pf,0L " SE
|l 11^™:::,.
I!" 'll ^lo H iH^*E.°T B D -.,U.._l= D =
»W flT D ^",L_.t...„ [H . O, PB.MT ".-
ZX Computing Monthlv ■ January 1987
aiu
RUNnlng the program. the firs
thing you should see Is the molr
menu giving seven options And
able to appreciate all the
facilities that the program
provides; you can practise
playing a tune, record It, play
back lhat recording, save and
load data, and edit that data.
Black and white
So. selecting option one gives
you Ihe screen display shown In
fig. 3 (on me OL; It's slightly
different on the Spectrum). On
the QL, the white 1 keys are
played using the bottom row of
alphabetic keys ('i' to 11. and
'black' keys use the keys on the
next row up I'd' lo 3, To achieve
the same range, 'white' keys are
ACT
1 z
ki j b
n j m 1 ,
- I / 1
E
£
<
a.
O
O
a.
£m ?
practised a tune,
elieve you are ready to
I It. e»if from practise
(press 0' on the Spectrum.
the QL), and select option
the main menu. Pressing
Spectrum, p' on QL starts
slops the recording s!
- "*— result ot your
ng. prer
'a' to 'ENTER' _.._
to p' on the Spectrum. On r.
computers, the screen display
and their position on the
musical keyboard.
In practise mode, press the
keys to play a tune Press only
one at a time; un fortunately BEEP
is only monophonlc! On the QL.
you'll hear a continuous note
every time you press o key. But
on the Spectrum, the nole will
be 'broken'. This difference Is
because of the way both
computers generate sound. On
the Spectrum, It Is the main ISO
processor which generates the
BEER It cannot be doing this end
checking to see It a key Is
record modes) will be the
computer switching bock and
forth between generating sound,
and checking Tor a keypress. On
the QL. the moln processor
hands the sound generation
sound generation and keypress
checks can be carried out at
the same. Playback at sound
Isn't limited In this way, so the
music should sound smooth on
both computersl
facilities, you should eventually
get your tune just right. If the
process is taking a little longer
Note
BEEP v
alue
E
24
F
22
F#
20
G
IS
G#
16
ft
15
A*
13
B
12
C
1 1
C#
10
D
9
D#
8
E
7
F
6
F#
5
G
4
„,
Itlne
BOO
DEFine PROCodure TUNE
810
RESTORE 327£7
32'.'
REPeat tune loop
3:;. o
POKE W 163886,0
840
READ a: IF a-255 THEN RETurn
350
READ li
560
IF a=0 THEN
370
BSO
ELBE
890
BEEP 10000, a
900
END IF
910
REPeat delay
920
IF PEEK W (163BB6J>=b THEN EXIT
elay
9 30
END REPeat delay
940
BEEP
950
END REPeat tune loop
960
END DEFine TUNE
[or pause there Is a duration
value, and a note value stored
In sequence. The note value tor
pause Is on the QL version,
and 254 on the Spectrum.
Otherwise, note values are the
some as supplied to the BEEP
command [so note values ore
computers lor the same note). In
editing, you may want to
change a note value: in this
case refer to the manual (page
135) for changes to the Spectrum
version, and to fig. 4c, where QL
note values are listed.
In edit mode, your tune Is
broken down Into 'pages' of ten
notes (and pauses). First, you are
asked to select which page you
want to work on. then vou are
presented w
than anticipated, you c
tape (Spectrum version)
mdv2. (QL), then re-loc
using options '4' and '5'
ot your own programs. Option 7'
deals with this. On the QL
version, the dato will be
automatically fed into DATA lines
and saved to mdv2_ under a
i the appropriate
s p' to play the sequence of
s shown.
n arrow (>1 appears beside
first note This arrow shows
the 'active' note for editing.
u wont to move to another
', press the up/down cursor
IQL and Spectrum Plus) or
n the Spectrum. To
fig. 4b, you'll see a QL
procedure called 'TUNE'. Us
in your program; MERGE the
tune DATA lines, so that,
whenever the procedure TUNE
colled, your masterpiece will t
ployed.
On the Spectrum version. tt>
numbers which shoi
the DATA lines are III
ihis
d go into
the
ZX printer. You'll then have to
type In your own DATA lines (start
at line number 1000) with Ihese
numbers In sequence. Add them
Spectrum tune
X Computing Monthly ■ January 1 1
WIN MARBLE
MADNESS!
Win Melbourne House's
Marble Madness
Construction Set but
beware of losing your
marbles in our brain
teaser puzzle.
to the Spectrum and olthou
the game Itself could drive
lo distraction there are
additional opportunities to
yourself crazy by devising y.
Send your entries to Marble
Madness Competition, ZX
Computing Monthly. No 1
Golden Square. London W1R 3AB.
The competition Is open to all
ZX readers except employees o<
Argus Specialist Publications.
to write yi. _ _
back of the envelope.
The closing dote Is February
r
means you need never play thf
same game twice and you car
put together obstacle courses c
simple or as complex as you
Break the code
Twenty-live copies ot Marble
Madness construction set are u|
lor grabs and to win you must
solve the three code puzzles on
the entry coupon ond decide
which number comes next In th
Marble Madness Competition
What Is the ne«t number In the series?
1) 0123402341034120?
2] 412443014442101?
3) 0401431240310?
Nam
Monthly, No 1 Golden Squar
ZX Computing Monthly - Januory 1987
2
O
O
m
Alan Davis unveils a
versatile character
designer and outlines
the first step towards
Illuminated text
displays.
II you have only a slight
In the world of adventure
. you could hardly have
you play a well-written text
adventure such as "Castle
Blackstar". wltf
descriptions and intric
who needs pictures?
Contrariwise, who wou
want to play a version
most diehard text purist must
surely admit that a TV screen
ol text isn'l the most attractive
sight aroum ' ~
Spectrum character set
extremely crude and St
[Imagine reading a no>
s printed using the Spectru
ion!' II
k ng
Text-only" purist who i
nhanced" games on
md at the other exlre
le philosophy that "a
forth a thousand wor<
a the (ewer words the
lor all styles to rub along
live in such a world. Ever since
some remote mountain top.
inscribed with the
commandment "GRAPHIC
ADVENTURES SELL BEST" on one
Side and ANY OLD GRAPHICS
WILL DO" on the other, we've
development of the pure text
would have u.
Spectrum now spends a tair b
ol time (and lots ot memory)
displaying pretty dreadlul
Text effects
Now this Is □ great shame,
because the potential of tl"
pure tent adventure is tar Ir
being played out. But ever
.. __js lt?)Olc
adventure authors use a
redesigned character set tor lust
this reason — though In a large
time — about a couple ot years
ago — an adventure appeared
under the Games Workshop
up a new venue (or the pure text
game It was called "Tower o(
Despair", and it was written (to
the astonishment of all who saw
It for the first time) with the Quill.
11 was a pretty good adventure
coptured everyone's imagination
was Its presentation — which
tried to produce the effect of
script using a
and a very beautiful
I understand that It was
successful commercially at
e developed the
int. (II you've
s, perhaps you
akins up his helm and
shield, Arthur rode for mans-
»dasjs through marshes, fields,
and dales, until at lenatb be
cane in sight of a range of
dark mountains to the north-
e called to a peasant
tilling his fields, asking
what sonder mountains night „
■be. "He call them CHE HALL OF
THE world, ma Lord.", replied
.the poor man. And what lies
■hesond them wc know not-
end so Arthur spurred his
horse northward, in search
of adventure.
$0SIXV9O
i i m a ■ n - - -— *•- — - * ^ ~ —
umimtor
ZX Computing Monthly - Januory 1987
enough; if no one else Is going
1o try It, we'd better do It
ourselves! Alter all. so many
adventures are designed around
a fantasy world with a medieval
or Anglo-Saxon flavour, that we
could hardly find □ more
appropriate kind of presentation
lhan by simulating illuminated
perhaps we can breathe a bit of
life back Into the old text
adventure yet? [Ot course the
use of a display utility, even
though we're starling with
- '- -nind.)
Ing the
iputlng problems, I went In
Ch of inspiration by looking
;le. I spent some time poring
Ihe Lindislarne Gospels.
nlnated script ab
■1. [You can s
ii rati
piogro
r ol definite and realistic
n design alms which car
oe summarised as follows:
1. Tower of Despolr was really a
bit of a cheat; It had 1o be
simply because ot the Quill's
limitations. The effect of
ordinary capital letter. Now we
can do better lhan this because,
free of the Quill's limialions. we
can design large and detailed
Initial letter shapes, store them in
with a specially written machine
2. The illuminated inllials should
be large enough to produce
their decorative ettect — but not
aln body ot fekt. I settle
s '6 p
I:; [2
squares] wide — so that 26
capilal letters can be stored In a
total ol 832 bytes (26 letters at 32
bytes each).
3. The machine code printing
routine should be readily
accessible from within a BASIC
program so that once a BASIC
string variable (zS) has been
defined, the first letter is
automolically printed as on
Illuminated Capital [with an
option to switch to "normal"
copitals it required). The routine
should then continue to print Ihe
' rapping at
he ends i
I. The wo<
rapping pro
m
Insert
Clear
SfiUE
LORD
*ftMCDEFGHX3KU1H0PQMSriIVWXY2<
HabcdetfabirjklniTiop^rstuuwxszo— "o $»
original manuscripts In the British
Museum). From this experience I
can confidently say that if you
were hoping to copy THAT on
your Spectrum, then forget It! It
displayed without It
screen within any such
j Id be possible to alter
PAPER, and BRIGHT
is for Ihe capitals
This design brief would result
In a flexible utillfy which could
be used from within a BASIC
adventure program with a
minimum amount of fuss. Once
the Initial parameters are
decided upon, such as width of
decorated border and sizes of
text windows, you can just get on
with writing your game knowing
end product falls a bit short
the Lindislarne Gospels, it's
nevertheless much more
atmospheric and attractive than
a typical screen from your
average text adventure!
Capitals
Sounds promising? Then let's
make a start. The first essential
job is to design our 26 enlarged
their 16x16 pixel squares, and
store them as a series of bytes
above RAMTOP. If you want to do
this on graph paper, work out
the numbers, and POKE them In
yourself then fine. Off you go
and we'll see you again in a
yeor or two, perhaps We
mere mortals are going to use
the ILLUMINATOR program In
couple of hours Instead! OK?
Listing 1. by Ihe way. isn't just
a utility for designing large
decorated Initials — it can also
do service as an ordinary
character designer at the press
of a key. Of course you may well
program (or redesigning
?ady, b- ' -'-'
lapilals. it obviously
facilities available together in
single program (or both
practical and aesthetic reasor
To get a working copy of th(
program, type in Listing 1 and
save It so that It will auto-run
e 1000. II suggest you
It the REM
is 635,
ng
640, and 1000
microdrlve SAVE and LOAD
commands (fast storage is
great advantage when wo
with this kind of utilify). If you re
restricted to tape cassettes, you
need to change these to the
usual tape commands, of cour;
— which just means omitting th
" "flj " part In each case Note
also that In line 52 It Is DOUBLE
n the
PRINT statements. The program
Isn't of much interest in itself — us
development tool.
In addition to Listing 1. you'll
also need a saved copy of the
boring old Spectrum character
set. To get one, just type in
Listing 2 and then BUN. If you're
working from tapes rather than
drives, you'll need to change
line 50. and then save the bytes
immediately following the main
program (Listing 1) so that they'll
be loaded automatically [see
line 1000).
Once you have the program
loaded In and running. It will
Initially enter "CHARACTER
DESIGNER" mode (Figure 1). If
you press ENTER, If '"
"ILLUMINATOR" mc
ide (Figur
d to change ft
is at will
at any lime. Key i den Ii II cations
In both modes) but limited
screen space requires these to
be brief, and a little further
explanation Is called tor.
Movement of the little fleshing
cursor around the grid Is
ZX Computing Monthly ■ January 1987
urn
o
z
s
s
<
O
o
a
a.
3
srue
LORD
flbor '
flBCDEFGHUKLMKOPOBSCUVHXYZ
your old character set bytes a
64000; ana then restart with
GOTO 1010],
at Intervals To do this just press
key Z and whizz the bright cursor
along the row ot letters. As the
cursor passes over each letter In
turn, the appropriate illuminated
version will obligingly present
Itself in the smaM box tor
Finally — perhaps (or new
-eaders, or those who've never
dined to try designing
shapes betore — II
(alls you. DONTGIVE
1*11
UPI
rsor position. The results of
jr artistic efforts will be shown
their normal size In the little
* below the main grid, and If
Illuminated cursor
and you can move It — ogoln
using keys O, A, O, and P - to
the letter or character you wanl
the shape to represent. (Thr
l-ir a
.-.■■:;■: <i
I" at tl
d right edges to speed up
me selection process]. Pressing
SPACE will insert the new shape,
and ENTER ollows you to quit if
you change your mind. I! you
want lo fiddle wilh an existing
shape, you can transfer It to the
grid by pressing key Z, and It's
ing the
bright c
>r io if
Once you've finished, yo
save your shopes by pressing
key S. Vou'll be asked to type □
single Identifying letter [say "a"|
saved as either "chors-a" CODE
64000.768 or "capitals:a" CODE
62976.832, depending on which
NOT save the other as well! You
or capitals (to make additions oi
alterations] using key L — and
again you'll be asked to spectty
an identifying letter. (It you
already have □ library of
character sets saved under
modify one of those from within
ILLUMINATOR, then BREAK; load lr
ZX Computing Monthly ■ January I 1
aiu
ZX Computing Monthly ■ January 1987
Steve Turner with a step
by step guide to the
creation of his soon to
be released game
Ranarama.
ly ■ January 1987
Intelligent meanles who are all
properly placed In the
dungeon. They must be able to
move Irom room lo room oft
screen and try Id find the player.
They must enter and exll the
current room properly, not just
appear out of nowhere.
I tell the above formula would
enable me to use the Spectrum's
colour and graphics potential to
the full while leaving CPU time
to run a fast game
generator to build a
d was really pleased
rh.en
e Spectrum's HAM.
I used Ouazalron as a guide,
reserving areas (or the size maps
and graphics I rep' ' ■ "'
found, like always,
' d 24 types '
ZX Computing Monthly ■
aiu
Reset spells s (
Reset
Place
Figure 3: Panorama Structure
Mithly ■ Jonuary 1987
am
Horizontal shadow
O
8
<
z
o
o
a
a.
ZX Computing Monlhlv ■ January 1987
o
2
-i
<
Z
o
tft
v>
in
u_
o
a.
a.
26
l///
no less than four c
data la bypass on its way from
keyboard to CPU, and what mess
the back ot my machine wos
already, with a tangle ot ribbon
cables and a Beta disc
n was ZBO code
this
s LD A.1.
;r to pro
no one could help, despite
friendly support (torn Saga, and
I finally gave In and sent the
superb keyboard back.
This sort of problem just shows
unexpected. Whoever would
eipect that CPU to misinterpret
an Instruction. This problem
solved, (see Figure 4) testing was
underwoy again.
At the time of writing the game
has only been played by two
people. In a lew days the local
computer club will have a go at
Perhaps these articles will
have given you a greater Insight
to the work thai goes Into a
game. But most ot all I hope you
have a really good zap.
Professional
improvisation
1. Remove screw t
edge of Spectrum
2. Thoroughly ciei
diagram. The piece a
fits along the recess si
Spectrum can still sit (
gently pushing each o
r ' " '
%- Wire
Screw removed
D 1 '
o
D
ZX Computing Monthly ■ January 1987
Timex/Tasword
VIRIES
z^M
Help and advice on a
variety of technical
topics from Ray Elder.
available commetci
can be assemblec' '
s Ironies engines/ ll
ie telephone socket, due
to build o mock
instead ol the Sinclair one
Using C mode then key P shou
EI
would be interested to know It any
totthe AMX mouse a
ie by patching In
rygratetultoranylnlor-
El
I tie B6C user port, perhaps it won't
Anyway It could work or II could b
o [relatively] simple Job or patching th
■■■■■■ ■ ■ ■'-.:■, ;-.■ .■!■;...■ .1:- ■■
sws
Tele|il...r
O
a.
a
5
ZX Computing Monthly ■
SPECIVORD
48/128
<
O
o
a.
a.
S
3
et
S
(Part 1)
A menu driven word
processor for both 48
and 128 Spectrums by
Stuart Nlcholls.
home users. Over three parts
Specword will build up into a
word processing program with
many advanced features. Rait 3
contains a complete operating
Specword
ides, wordwrap, find
unt, block
del etel m ove'c o py/p r i n t,
codes (30). 16K text
lines only occupy 1
space], lines of ANV lenglh from
one character to the full text
length, margins, thirty one
setable TABS, supports both the
ZX printer and most Centronics
printers (with built in software for
the Kempston interface] and
RAM! file facilities for the 128K
Sntering and Saving
pecwora
Specword 48H-J128K can be
entered easily using the
following procedure.
jf the lines
containing the Instructions for
RAM FILE loading and saving
etc le lines 2220. 2410. 3620. 651
S> 6550. The program will work o
their computers without these
is the RAM FILE optioi
2. SAVE the BASIC program using
SAVE "WP48W128"
3. Using the HEXLOADER/HEXDUMP
dual purpose program (to be
published In part 2] enter
the mochlne code as HEXDUMP
R TO RESET RAMTOP TO
START ADDRESS 1 BEFORE
RUNNING THIS HEXLOADER [le
FNTER CLEAR 33S35 AS A
DIRECT COMMAND FOR LIST 2).
The last byte In each line Is
the checksum byte, this being
the sum of the previous 8 bytes
modulo 256. The code should be
entered one LINE at o time as a
block of 18 characters [8 bytes +■
checksum] WITH NO SPACES
BETWEEN THE CHARACTERS To end
(he HEXLOADER program enter ZZ
-' n byte. This
after the
the dump and a printout c
number of bytes entered v
given [allowing you to sav
the
ZX Computing Monthly ■ January 1987
im
The HEXLOADER program wil
error trap ANY Incorrect line
Inputs and prompt you io re-
enter wrongly keyed in lines.
4. SAVE this block ot code as
"coder 1 CODE 33536.9407
5. Using the same HEXLOADER
enter the machine code as thi
HEXDUMP LIST 3.
6. SAVE (his block ot code as
"code2" CODE 44800,2519
7. When
8. LOAD the BASIC program.
9. LOAD the CODE code!
10. LOAD the CODE code2
11. FINALLY (It you have
managed to get this tar wlthoul
our lingers dropping of). SAVE
12 Should any of the tunclior
HEXLOADER/HEXDUMP dual
purpose program. The HEXDUMP
option will print out to the screen
O
z
I
S
<
a
O
O
a.
O
LU
a.
ZX Computing Monthly ■ Jonuaiv 1987
aw
Books on C and Sir C In
the return of the back
page.
Wilh Ihe popularity of 'C as Ihe
favorite alternative to BASIC (or
programming (see ZXC. August
surprise that there have been
several books published recently
on ■C 1 . That prolific author. Ian
Sinclair, Joins the crowd with his
offering. 'C for Beginners'
Sinclair's concept of □
beginner Is someone who knows
a little BASIC, but now wants to
try something else If that fits you,
then this book can be highly
recommended.
The opening ol the book is
fairly stondard; what are high
and low level languages? — why
do we need so many
languages? — compilers and
important difference between
BASIC and 'C 1 , structured
programming.
After that, you get the
fundamentals of C' carefully
01 d ■
page 48 ol this boi
226 pages to get the first vt
nple 'C routine to try out. B
1 that stage, the reader shoi
From that point onwards.
reader's knowledge; by the end
anyone should (eel reasonably
comfortable with the language,
ready to proceed to a more
advanced book.
Routines In the book were
written for the Hlsoft 'C compiler
(or the Amstrad: these seem to
work equally well on Hlsoft's
Spectrum 'C compiler. 'C Is
meant to be a portable
language, so mosl machine/
compiler combinations should
accept the fairly simple
example routines given In the
text.
There are many comparisons
made throughout fhe book to
BASIC so the BASIC programmer
I? IE A D
(10.95 for this
book for beglnne
good buy.
David Nowolnik
ZX Computing Monthly ■ January 1987
The authors Ion Adamson an:
Richard Kennedy, hove varied
and colourful Backgrounds
including a few credits in the
field of computer Journalism,
Ihough noticeably not in fhe
Sinclair field until now, at least
according (o their given
personal briefs.
This very distance' from Ihe
whole suBjecf probably stood
approach would
tend to limit Its oppeol to the
more thoughtful Individual and
In this category I would also put
the established hobbyist [or
occasionally labels us), ond
perhaps the antl-Slnclalr
brigade who seem to look lor
any excuse fo put him down.
The great majority of Sinclair
users will probably not be
found It a fascinating a - - 1
Slauslole account of a
Istory w"
Sir Clive Sinclair through
tinted glasses but by using
reports and documented
statements they have researched
and produced what must be the
definitive account ot '
UIU
ever-changing landscapes of
facility In their own adventure
progroms. This graphics utility
can go □ long way to granting
that wish. II can hold the data
lor a full screen, hi-res UluiTG'icn
In only 30 bytes, so with It jn the
top 32K ot memory you can
generate any ot 1000 Illustrations
this means that you could hve
four view, looking north, south,
east and west, ot each location
on o 25 x 10 grid. The screen
copies shown In fig. 1 Illustrate a
range of the possible
landscapes you could produce
Landscapes
It you ttave looked closely at
Midnight's landscapes you will
made up ot a number of picture
elements (trees, mountains etc]
drown to different s'~' '
■s the 5'
operates In Basic,
easier for most peopl
handle look at Progr
10-19 hold the graph I
picture elements (let';
plcsubs). These indue
moutalns. forest, hills,
hedges,
but
drawn In two sizes; lines 10-19 tor
distant views, and lines 20-29 for
close views. Each can be
PRINTed At o screen position v, h;
ore more difficult to position.
You're also not limited to five
picsubs per landscape You
could use as many as you Ilka
;,{ ■■!,, ,,
ient b
e printed where
slonal array LSD
holds this Information In a series
of strings each made up ot five
groups of three, two-digit
numbers The first pair In a triplet
h time so remember
per picture th
pictures you c
showed five fc
the program line number where
Assuming you're happy with my
the picsubsubroutlne Is located.
set-up type in Program 1 This Is
The ) loop operates five times
the one you'll need to
Incorporate in your own
which make up the completed
adventure programs to run the
landscape. Before these are
utility. When you've typed it In
Table A. This Is the machine
code and UDG data. Delete lim
1, then SAVE the program and
the attributes with B, thus making
the illustration appear as white
method you could go off and
and VERIFY One very important
deleted line 1 the variables
save bytes are now only held In
the variables area. All program
using this utility must therefore
pSSHPiSSSr Efii but
1
□ ghastly thought may
an Assembler/Editor to aid ihe
Lai's leave the keying In of the
Assembler 'til late and worry first
about the design and layout ot
You first n
i this
decide what Is where, and wh
size lor each landscape The
letters appearing in each
quarter square symbolise the
picsubs which are to appear.
Table B gives a key lor these.
Clyde Bish with a utility
tor producing
'Landscaped' graphics.
(wher
.t. you «
ir right, and forest left, with
jfher area ol forest in the right
ind hills leading up to
In Ihe lelt distance
This is Ihe landscape shown in
fig. 1 (a). It would be worth now
trying lo work out what the views
for the rest ol thai square, or
other squares would be to get
Ihe hang ol the system. What
happens ot the edge of the
map leg. square 1.T looking N.
or W.) you must decide. You
could surround your lands with
impassable mountains, or simply
have a no-go tealureless horizon.
OK. so you think you know
what each landscape is lo look
like but it would help lo be able
jradve ._._
like overall. By way ot example,
lig. 2 gives o sample map fc- us
to use It's only 3*3 locations —
star! with Ihe lull 25 s 10 doesn't
need my help! You will notice
-- - subdivided
-T-
!Ca
H L
M , F
H M
fT
F K
C M
HelMj
Tm
T H
K , F H ,
make any necessary arllstlc
adjustments. This Is where the
Assembler/Editor comes In. LOAD
In Program 1 if it's not already in
Ihe machine and add lo It
Program 2. SAVE it to LINE 9999
plus the machine codefudg
dala as before.
When LOADed normally It will
autostart al LINE 9999, then |ump
rnu. but lor Ihe moment
■tarl H With GOTO [not RUN!) 900.
message after a tc
perhaps.
The Menu lists tl
TABLE B
Key to map
nd picsub cod
Code
F
Monolith
L L '
S
24
25
26
Castle
Co
V
29
IW
TABLE C
Gnd
Picel
2
7
8
Column
D
Picel No.
12
22
2
5
2
3
9
12
7
8
20
17
21
21
10
22
3
■1
2
7
8
25
19
21
12
5
1D
24
12
2
3
8
'6
?r,
26
19
12
12
22
15
15
12
view (If you only
follow the LOADing prompts ( ""
loads in the first array on the
tape]. Alter the LOAD you will
lump straight Into the assembk
option at the next view to
e continuing
n unfinished landscape].
your landscape, and make
minor alterations. The first view
shown will be of grid 1,1 looking
as
O
5
5
O
a
z
<
Emma
21 PRINT AT v ,h; "RCRCfiCRC RC " ; h
T v+i ,h; "TflCRCRCflCRC"; RT v + b,h;"
f<Cf:.CfiCH£f>C T",RT " + c ,h : ■■ThChChlh
CflC";PT v+d,h,"BT T T T T T";RT
v+e,h;" eD6Dsc>e[>ery';fiT v-tb.hi ou
ER a,-"l";flT v+e.h+i;" K": return
TO j + c.< : GO SUB URL i
URL i»ij+4! : NEXT j;
S* 65C-.5I. INK 7: ftETI
E i. ,i + b
;RT
;RT i
__ PRINT RT v.... .
+ 6,h; "HFFFFFFG": RETUI
12 PRINT RT v,h, "L.O.
,h*b, -f. I" ; RETURN
13 PRINT RT v,h; "RC
UER 1; " "jfiT V,h, " ."
14 PRINT AT v,h; "OT
"5T"j RT v + b,hi "RT-ifiT
R a J "_" : RETURN
15 PRINT hT v,h; "LU
; "IUK" : RETURN
16 PRINT RT v ,h; "
,r,,"TTTTTT", RT V+b,Kl '
ETUPN
17 FOP l=N0T PI TO I
V + L,h; " I" : NEXT I : Ff
.f,; "^ ": RETURN
18 PRINT mT v,h; " « '
"A" : RETURN
IS PRINT AT v,h+b, "!
+ =. "-a.";i<T v + b,hj "8*
,h; "R |-p";RT v+d ,h; "■
■ +d, ■■NO 1 '; hT v+a ,
>,h+=, "ff NOMNH"
■ OHM-' . RETURN
NHP P";AT '
;fiT «
JBT
I CL5 : INK 3: PRINT CS: FOR
TO <P-11*6 5TEP 6: LET V =URL
LET h=UfiL I" '
22 PRINT PT v,h
■; "LK. IJLKIJ";RT v + e,n; "i
■ IU";RT v+c,h;"LK IJLK
W-HJih+Ci'-LK"; RETURN
i PRINT RT v,h+d; "_ M J R'
fl C";flT
MP'
;RT
IP";flt v+d,h; OUER a;" hC_
RETURN
24 PRINT RT Vjh+bJ" ";RT v
:"NTO".RT W4b,h*a, "TTP' 1 , RT
+a; "TT:T", RT v+d,h;"QQ T"
RETURN
UU '■;,«
l.hj 31 Bill! Bis i
RETURN
£T CCINT rt v,h+a, "■";«"
" BD " for i=t to : PRII
♦ I. .1-,-ta. "H". NEXT L; PRINT
ZX Computing Monthly - January 1987
elude the fallowing.
j I produced II
To IT
information page plus ihe siring
in highlighted blocks. Rerhember
Ihe sequence in each block Is
row, column, then Ihe plcsub
lhat von can Identity from Ihe
deloils above Use Ihe letl/rlght
•r you wish lo a
first ni
press SPACE. Ihen rr
last digil lo alter am
SPACE again. Now e
Designer landscape
e data 'or Ihe
map. Enler these using opllor
then, using my map (or your own
version), you can work oul the
design lor the remaining grid
positions/views (Surely you didn't
expect me to do all Ihe work!].
Remember you con use W In
answer to Ihe "?" al the end ol a
plcsub positioning move lo
reposition It (or press a' lo start
the whole view over again), then
use oplion d lo wander through
landscape. I can't do that
incorporate it into your programs
and call up the landscapes.
Vou will need lo CLEAR 65530
LOAD In Ihe original program
plus code thai you SAVEd, then
MERGE In your adventure
program. Obviously your
program must start alter line 29
or you'll overwrite Ihe utility (Also
don't be tempted to alter any ol
Ihe routine's line numbers or the
GOSUB in line 9 won't operate
correctly] Before you make any
call to "the Landscaper"
subroutine (using GOSUB 9) you
must set i to Ihe grid row of your
map, k to the c '
1010 LET r = r + to = 3) - [o =
1) : LET k = k + (0 = 2) - (a =
4) : GOSUB 9: REM update
row/column variables
To turn (cursor pressed In rS):
2010 LET = (1 AND rS = "7") +
(2 AND r$ = "8") + (3 AND r$ =
"6") +■ (4 AND r$ = "5"): GOSUB
9: REM relate value In o to
keypress
3 Talisi
want (1 = N ro
1 = W). So lo display Ihe vi
ooking west Irom Ihe top c
grid square on our exampli
...._ to
Obviously you would SAVE the
tlnol adventure to LINE 9999 so
as to LOAD In the code
automatically (which would be
SAVEd after It on the tape). Vou
musl also CLEAR 65350 before
LOADIng in Ihe program lo play.
Vou could have the machine do
Ihis tor you by LOADing first a
short driver program
10 CLEAR 65350 : LOAD ""
iking c
is before GOSUB 9
ind LOADs n
Bye far nov,
msssB
■JAlkM
100 > LET y=0: PRINT ' " ASSEMBLE/
144 IF LEN q.S = l THEN LET qS="e"
EDIT"' - CONT lo continue an as*
+ qj
150 LET MUflL h*: LET V-UP.L V S
101 IF rj="3" THEN LET y-1
154 GO SUB UhL q*
ic-2 input "width of Landscape g
155 PRINT 86; "Pi c *' ; iqf ) J " O.K.
rid? "; LINE rS: GO TO (13 AND r
at "; (w) ; ","; ih) ; "? (ENTEP,,-n,-a.> "
I="C"I*<797 AND r$="")+103
■ PAUSE O
105 LET ( =UAL rS
155 IF PEEK 23556=78 AND pol T
106 INPUT "height "; LINE rl
HEN GO SUB 9: GO TO 126
109 LET r=UflL r%
157 IF PEEK 23555=73 AND p=l OP
110 DIM IS (K,r ,4,30; : LET nl = i:
PEEK 23S56=65 THEN GO TO 116
LET nl=ml: LET ol=nlr IF y=l TH
159 LET aj=aS*v«+hS+qS: NEXT P:
EN LET y=0: RETURN
LET 15 in ,fs ,o) =aj: NEXT 0: LET o
115 FOR m=iiH TO t, : FOP n=ni TO
1 = 1: NEXT n: LET tll = l: NEXT ID : G
r : FOR 0=01 TO 4
TO 900
116 CLS : PRINT cS
190 LET t=25: CLS : PRINT ,"Nes
lis LET as="": FOR p=l TO 5
r ",TA6 t, "Far Mountain" ,"10",
120 input "Lot '■; (m) ; ",■'; (n) ; "
TAB l; "20" ' "Forest" , "11";TR6 t:"
:view ";io)j" -pic ";(pl;" row?
21" '"Hi Lis" , "12", TAB t; "22 Cs,'
em", "13", TAB t; "23" ' "Mono 1 1 t h " ,
"i LINE VS: IF VI:"" THEN GO TO
900
"14": TAB t; "24 La Ke " , " 15" : TAB
124 IF LEN vj = l THEN LET vS="0"
'. ; "2S hensc" , "IS"; TCE l ; "26
+V*
Tcwer" . "IT"; TAB t ; "27 Keep" ,"1
138 INPUT "loc "i IirI,","; in);"
6", TAB t, "26 Cas t Le" ,"19" : TAB
t.;"29": IF qlu"h" THEN RETURN
'■; LINE h*
.91 PRINT ' - "Horiicn at row 7"
134 IF LEN h* = l THEN LET h$="0"
INPUT "Pre:-: ENTER to return",
LINE rj. GO SUB 9: GO TO 140
140 INPUT "Loc "; tml.j " ,"; (n! ; "
260 PRINT '" SflVE DATA" PRINT
ivieu.i ■•; lo) ; " : pic "MP>i" pic?
80, "Lands- raping conp Lete" iv/n ■ ■
"; LINE q5
PAUSE 0- IF PEEK 2S55S=1S THEN
14S IF q*="h" THEN GO TO 190
C-0 TO 900
► ►
ZX Computing Monthly >
UW
PEEK 23!
LET tie!
. LET nl:yfiL tSir.t.Sl: LET i
AL Ltir.t ,3) : GO TO 115
iOi> C-u TO 5000
-."Hi PRIiJT ■ Ui.q r-OTD S00 ID i"
estarl": STOP
9(50 CL5 : PRINT " OPTIONS"'''"'
l K£ = £p„ble,-Edj f ■ -" 2 Save Data
_;„;. ,5,,1-D.d^ " i i,ii£... 5 Sis
USE 0:'lET r«=INKEY«: CL5 '■ GO T
u MflL rstisa
5000 LET p=6: LET « = 1 LET •/=!■
LET y=l: 50 SUE 5200
5001 PAUSE O: LET . r * = INKEV S : IF
PEEK tS556-13 THEN c.q T n -f-O
|0O5 IF rs,';' then c-0 to SSOO
5010 IF rs="n" THEN GO TO 5100
502S LET y = il AND ri="7">+i2 AND
rs^"&"!+i3 AND r*="5"!+<4 AN? r
=1 RND y=4 OR ;
qiiO ■
THEN GO TO 5001
5110 LET W=w+ly=3) - (y=li
512fl LET X=x + Iy=2) +- (y = 4)
5130 GO SUB 5200
5140. GO TO 5001
5200>LET a*=l*( W , x ,yj ■ tf as.i.-
" " THEN OLS : PRINT "Loc "*!""
'■> - view ";y;" EliPty".' RETURN
S£10 GO SUB 9; PRINT ttO;flT 0,0;"
5300 LET po=0: GO SUB 190: I
• ' '" "i : PRINT as il TO 6) ;
RSE l;aS<7 TO -IS); INVERSE i
INUER5E 6;as<;
'■ THEN GO TO 530
INK£Y*="S" ftNI
" AND PO >0)
'■ THEN LET p:
■ " THEN GO TO SO
5301 IF INKEVjs 1
5302 LET po=p 0+ ;
c £;■: - <INKEY«="E
51-tZ IF ;;■
o+l: GO TO 5315
5304 IF XNKEYftn'
5305 PRINT AT 16, PO;" t "
5306 GO TO 5301
5315 FOP 1=1 TO 50: NEXT
5320 PRINT AT 18,24; "end
5321 IF INKEYJ="" THEN GO TO 532
1
5323 LET PO=po+{INKEY«*"8" AND I
CM291 - IINKEYS = "S" AND PO>0>
5323 IF INKEYS=" " THEN LET nl=l
0+1: GO TO 5330
?.:■!■ 4 print rt 16, po; " t "
5li£5 00 TO 5321
P330 IF nltpl THEN GO TO 530e
?5?0 INPUT "Hsm firing^"- LINE i
t: LET lS!*,x,a,pl TO ril)=r*: Gi
iUB 5200: GO TO 5001
5999 STOP
9000 let q«»"": let a=i. let b«i
: LET c=3. LET d=4: LET e =5 ■ LE*
f=6: LET g=7: LET z =5 . LET i =9
LET r_I = CHRS 22 + CHRt 7 + CHRS + ".
PAPER :
BORDER 5
o
Ul
s
s
o
Q
z
<
ARE YOU A BUDDING
PROGRAMMER? mmmm
^1X is nlwovs Innkinn fnr tnr, ? > ' /^Tl rw^IrT?
^.X is always looking for top
quality games and utilities for
publication. If you have a top
notch game or a useful utility for
the Spectrum or QL why not
send it to us for appraisal on
cassette or microdrive complete
with a listing if possible.
There is also our new feature
Short Cuts to showcase your
practical, novel or imaginative
short routines with cash prizes for
published listings. For longer
programs we pay competitive
rates, and if you have an idea
for an article or series for ZX —
drop us a line or phone Bryan 01
Cliff on 01-437 0626 to talk it over.
' ' ' ■ '- V_^H
1 ,J3^ ~ I
v/
ZX Computing Monthly ■
A mldl utility by Ray
Elder for Spectrum
music makers.
"■"his program was born out or
the need to change patches
quickly from a single controlling
Spectrum
to work on all the different MIDI
Interfaces we use
The program printed will worl
with the MfCON (XRI systems),
EMR, SIEL, JMS. UPSTREAM or
E+MM Spectrum r.
There are three Indlvldu
modes ot operation to this
ENTER key, The change Is sent
Instantly and the information I
not stored, enter one of the ot
by entering to' at any Input
stage.
2. Preset patches. 10 preset
patches can be stored and art
sent Instantly on selection ot thi
respective number key. Initially
choice by following the on
3 Sequence patches, Up to 10
patches may be entered when
you first enter this section. These
time a key Is pressed, ony key
may be used except the P and
R keys which have the special
functions ot allowing you to rese
Ihe sequence or return to Ihe
Once the end ol a sequence
Is reached then the program
loops back to the start of the
sequence ond begins again.
eg. It two patches, say 20
were entered then by repeoted
pressing ot a key they will be
sent alternatively until the user
decides to stop
change the channel number
whenever on Input is requiring
ENTER to be pressed is expected
Just type to' and press enter to
access the channel options.
ZX Computing Monthly ■ Jam
a
I
Of
5
■Ijs
COLOSSUS
BRIDGE 4
x playing a
bridge player hi
'Istlngulsh between quale frump support but a
sP°aes and the strong handarecommonplace
complexities oftTie game itself remaining tricks without having features such as good frumps
Colossus Bridge 4 Is aimed to ploy the rest ot the hand and on unbalanced dlsfrl
be'lrm "" squarely a ' lhe , ''' OIJah - lne problem here Is bullon. Once you get used to Its
Presentation wise the pro- check the validity of your claim In the r!g% contract^ n^boui
gram works well. Entering a bid allowing you to cheaf If vou "
jylnQ a cord Is simplicity were unscrupulous enough so
to do, _. _, _, ., . high cards. The program's card
The standard of bidding Is at play again Isn't too hot, especl-
bB5t average Allegedly follow- ally when defending and
mposslble I
UIU
ORE OQ107B 2l»P I
enormous accuracy In position- 1
Ingand liming and al limes the 1
onnoylngly frustrating matter ot
trial and error as you attempt to I
searching tor various
ploying the gome tor a she " **'
while you realise that it's one
these games that allows yc
very Mtle margin tor error or
There's an elemenl of novel
complex pattern
hlch allows
n, In Frost Byte
ughlheearlle
It"
Bnjoyablepam
Vnofbeing
TO
well thou g hi
3Ut.
"
b
■i: itn ncsiogoaa
■E
spihdlE5:d33Q)
1 — K
e>
hi -sowniaaeaa
5)
rids me of a targelshootrng
y Vou control conlrols or a Ker
i right across it you're going I
1 the opposite ^
is tail leathers off you ityou're V . *''
oteguallyqulckonthetrlggef A -
srssas
;rim
I HOW TO GET YOUR SPECTRUM REPAIRED FOR ONLY £19.95
/////
DERESOLUT
Chris Strongroom, who
converted Palace
Software's Antiriad to
the Spectrum presents
a sprite deresolution
routine to incorporate
Into your programs.
ssolve Ihe sprite onto the
The program can be typed
The following progra
up the first live letters I
alphabet — as a sprite
then deresolves.
print
abbreviating — or It you have
no assembler, the column of he)
— starting line 23 — should be
typed into a hex-loader. Better
i im
HEADING U COMPUTING GERE SOLUTION CEMONSTRflTI D« PROGRAM
PL 59
TOP «
IttCLIST OFF
FILLCHflR t
EMI
PROG EBU 4BBBB
;A5SEHBLY ADDRESS
22M
PHEL.ADD EBU 22AAH
jfiflN H0UT1HE 10 CALCOLATE SCREEN ADDRESS
3EH
SPRITE GRAPHICS EBB 3E6BH
;MHEREVER YD1IR SPRITE DATA IS
IMS
RESOLUTION TYPE EOlt G
;RES0LVE = 8 DERESOLVE = 129
mi
WIDTH EGO 1
■129
DEPTH EOU 41
II7B
I EGU 121
■876
V ECU 128
II7B
SPRITE J.EN6TK EOU U[1TH»DEPTH
re Mil
21 EAtt
ORG PROG
23 EA4I
3E 13
HCaHP: LD A,3
u mi
Hfl
OUT (931, A
25 EA44
S3 7F
OUT 11271 ,A
24 mt
a 69 m
CALL SETUP
27 EUf
CD it EA
CALL HOVE
23 E66C
C9
RET
3« EA4I
74
HOVE: HALT
31 EfiiE
CD CD EA
CALL IGRSPR
jUNPLOT SPRITE
32 EA71
CD BS EA
CALL EIPAND
E USED
iNORHALLT TH15 WOULD BE DONE BEFORE UHPL0TTIN6 - TUG BUFFERS MOULD 8
31 EA74
DD !i 14
U «, 111*4]
34 EA77
A7
AND A
35 EA76
C4 IS Efl
CALL HI, CERES
34 EA7I
co a n,
CALL I0RSPR
PLOT UP SPRITE
37 EA7E
74
HALT
3 Monthly - January 1987
aiu
33 EATF
76
HALT
;HALT5 ARE JUST A QELAV
3? EAGB
3E 7F
LB A.7FH
» EAB2
BE FE
IK A,(8FEH)
41 EA84
IF
DM
42 EAB5
DA 6D EA
JP C , HOVE
43 EASB
C9
RET
.-RETURN If BREAK IS PRESSES
45 EAB9
ID 21 7F
B SETUP:
ID [(.SPRITE TABLE
INITIALISE SPRITE AND PLOT IT
46 EA9D
DD 36 II
B
LB tm,t
47 EHfl
DO 36 11
LB HM), T
48 EB95
DD 36 12
LI 111*21, IIDTH
49 EA99
SB 36 13
)
LD 1II+3I, DEPTH
SI Eflf5
DB 36 14
e
LB UI>4),RE50LUTIDN TYPE [THIS CAK BE EITHER RESOLVE (I8H) DP DEftESOLVE IB1H1
CD B5 EA
CALL EIRANB
CD 7E 14
LB A, (11+41
SI EAA7
FE IB
CC 15 EB
CP 8
CALL I.DERES
55 EMC
CD CD EA
CALL IDH5PR
56 EAAF
16 14
LD B,28
57 EAB1
76
SETUP!
5B ebb:
II FB
mi setupi
59 EAB4
C9
RET
61 EAI5
21 IB 3E
EIPAH)
LB HL.SPBITE GRAPHICS
;EIPAN5IOH IS USUALLY A PRELUDE TO SHIFTING
62 EABB
11 04 EB
LD BE, BUFFER
63 EABB
JEH
LD A,l
it EABD
DD 46 83
LD B,f]I+3J
65 EACI
DD 4E 12
LB C, 111*21
66 EAC3
C5
E1PAM
PUSH BC
67 EAC4
47
LB B,A
68 EAC5
ED DB
LDIR
6' EAC7
12
LB (BE), A
78 EAC8
13
INC BE
71 EACf
CI
POP BC
72 EACA
DJHI EIPAKI
7J EACC
C9
RET
75 EACH
DD 4E Bl
1DR5PR
LD C,II1>
[SET UP PARANETERS AND PLDT'UHPLDT SPRITE
76 EABI
DD 46 II
LB l,tlW>
77 EAD3
CD AA 22
CALL P1IEL ADB
;KL*s:RE£N ADDRESS
DD 46 8!
LD B,UI'?>
|WIHH
79 EMU
84
INC B
81 EABA
DD 4E 83
LB C.tll+J)
iCOEPTH
SI EADD
11 84 EB
LB DE.BUFFER
62 EMI
CD E4 EA
CALL PLOT
3] EAE3
C9
RET
95 EAE4
E3
PLOT:
PUSH BC
;A SJNPLE I0R SPRITE ROUTINE
86 EAE5
4D
LDC.L
B7 EfiEi
FUHi
LB A, (BE)
8B EAE7
AE
77
IBR IHL)
LD IHL), A
IB EAE9
13
INC BE
91 EAEA
X
INC L
12 EAEB
18 F9
DJNi PLOTl
11 EAED
69
LD L,C
94 EAEE
CI
POP BC
95 EAEF
ID
BEC C
96 EAFI
PET 7
V EAFI
24
INC H
98 EAF2
7C
ID A,H
99 EAF3
E6 17
AND 7
181 EAF5
C2 E4 EA
IP NZ,PL0T
181 EAFB
7D
LD A,L
ZX Computing Monthly ■ January 1987
LLW
£
<
a
O
O
a.
IH
AF?
U 28
ABB A,32
183
m
If
ID L,A
m
UK
38 E6
JR C.PLOT
IBS
K
7C
lD A,N
18b
JFF
06 IB
sub a
Iff
m
67
LB H,A
IN
"M2
C3 E4 FA
JP PLBT
l«o
IIS
112
MS
BBS
BIA
DD 7E 84
FE 8?
21 14
HKti
LD A, (11*4)
CP 137
JR H?,BEBES1
IIS
BBC
DD 36 14 BB
LD IU»41,I36
iHORMlLT THE SPRITE MOULD BE KILLED AT THIS PBIHT
114
BIB
21 35 EB
DEFIES!
LD HL.DMASKS-6
115
m
87
ADD A, A
lit
117
B14
III
B7
87
ADD A,A
abb A, A
111
fib
5F
LDE.A
11?
BI7
16 81
LD D,B
128
Jlf
11
ADD HL,DE
;HL=START DF MASK FRAME
121
HI
11 B4 EB
LD DE, DUFFER
;DE=5PRITE BUFFER START
122
BID
BE BC
LB C, (SPRITE LEItBTH+SPRJTE LEN5TH/*WHI/7*l
12!
JIF
B6 17
LD B,7
124
B21
C5
ceres;
PUSH BC
125
B22
E5
PUSH HL
lit
B23
KKn
LD A, (DEI
m
B24
H
AND (HLI
m
J25
12
LD (DEI, A
12'
62i
23
INC HL
m
127
13
[HC DE
131
623
11 Ft
DJNZ DERES3
IJ2
l»
El
pup nl
IB
m
CI
POP BC
134
B?C
ID
DEC C
135
BID
28 F2
JR HI,DEfi£S2
131
B2F
DD CB 14 7E
BIT 7,111*41
117
63?
28 14
JR i, CERES*
11B
m
DC 34 14
INC 111+41
S IF BIT 7 IS SET, INCREASE BASK IDERES)
13?
B3B
C9
RET
141
5i?
BJ?
BI 35 84
KRES4
DEC 111*41
[If BIT 7 IS CLEAR, DECREASE MASK NUMBER
1(2
nc
C9
RET
143
in
HI
B3D
F7 7F BF Df FB
FE FB II
DMASKS
BB 1111I11IB,
llll!llB,llllllllB,ll»llillB,llllllllB,llll
lllB.lllllIIID
• |1
I4&
HI
77 DD 5F F5 EB
OB I11IIII1B,
lllllllD,llllllllB,lil!8ie]B,llllll!lB,llll
UID.lllllllID
1 )2
B4fi
EE FB IB
147
S4D
B52
73 DC IF E5 E3
EC 7A H
DB 8I11BBI1B,
ll1118IB,iaill]IIB,lllB8IIID,IH81BllB,ll]l
BSB.B11I18I8B
149
BSE
B5A
63 CC 5A A5 55
55 AA It
DB I11I8II1B,
1881 18BB,B1B1I81BB,1B188IIIB,81I18]I1B, Hill
|]B,1B181I1IB
P 14
14V
BSD
62 CB 1A 9S 6C
B« C9 II
DB I11I8B18B,
18BiB8BB,88eilBlBB, I8BBBIIIB, 81181 1BBD,1H8
8116,118811118
151
FJ6S
3M
91 1? 94 CB 22
12 24 II
DB 18818BBBB,
B8B18BIB,IB8lieieB,llie488B3,8BlB88l8B,8l81l
B1BD,I81I81I8D
151
BiD
372
BB BI B2 11 41
84 81 II
DB BBBBIBBBE,
BeBBBBBB.BieBBeiBB.BBBieBBBB ,8 1 I8BBIIB,IBIBI
I8B,8B8BI8I1S
152
B75
B?A
18 18 88 81 B8
IB IB 18
,8,8
|B
1S3
!5<
B7D
BI8I
STACK;
Bit
8
IS
B?F
5PKITE TABLE: DS
5
IH
pet
BUFFED
H
SPRITE _LEN6TH.SPRITE.LENGTH/IIDTH
157
15B
JB4
END
ZX Computing Monthlv ■ Januorv 1987
HI
>
s
E
3
a.
5
HJ
Q.
"Vou are Rogue Trooper a
genetically engineered
infantryman created to withstand
the piosonous c hem-clouds ol
survivor ol the Quartz massocte
betrayed ana wiped out by the
Notts.
Now you' only thought Is to
— '■■>! reponsible tor the
•s that □
chips mounted on your gun.
helmet and backpack.
These three chip buddies
advise you during your r
(ind one of the eight vid tapes
that will prove the Identity ot the
traitor. Finally Bagman reports on
current levels ot ammo, kits and
tapes and applies the medi kits
it you're getting weak.
The war torn planet of Nu
Earth is represented by 3D
graphics illustrating the ruined
cities, radiation deserts,
graveyards, fuel dumps, nu
forests and glass zones that are
now swarming with Nort troops.
Rogue Trooper is controlled by
Joystick or redeflnable keys and
exploding If you get tc
The way to success and a
longer lite Is to use the scenery
as cover, only rushing Into the
open when you can get first
ml h
My b
it you.
if Ihe
is well as stir yi
nlorr
>usly a
c deeds. Gunnar helps your
firing but has a distinctly
psychotic side to his nature and
will constantly urge you to "blast
gives you the odd hint and
points you in ger
..._._.ethe
landscape. This I
development of
original Knight Lore stystem tailor
made to Ihe ruins, trees, groves
and barbed wire ot Nu Earth.
Charging around w
mlvh
e short
d gets very e
e quickly
down by the Nort troopers,
o-llrlng pillboxes and mines
t hove a nasty habit ol
eight vld-tapes st
have to wait o little longer
before taking me to victory.
The Norts may hve finally
gunned me down but I took
plenty ot them with me. One
thing's certain. I'll be back for
JoOSTIill
Ray Elder presents a
program tor efficient
text storage.
TEXT MISER
il, the
n of 15 byles per
message, on a 100 location
adventure this becomes 1500+
bytesl
In simple terms the program
takes a text and/or graphics
Input and stores it sequentially
as bytes. The short 36 byte
machine code routine then
prints out the text as required.
The routine and code Is
completely relocatable and
options to view the text betore
storage, re-entering It, and
viewing all the stored text are
The main disadvantage is the
editing ot stored text is not
using the program. Once you
Details otthe number ot
can keep an eye on how mucl
space you have left. The
program slarts at 40000 but this
can be lowered It you wish. Frc
either machine code programs
or from basic first it should be
loaded to the required address,
tor example to load it to 50000
first CLEAR address-2 (49993) ther
LOAD "■'CODE 50000, obviously
the address+ length [as given or
the opfion page) must not
exceed 65535. The reason tor
clearing two below the address
is that the program uses the
address-1 location to get the lex
the prompts. II you just press
ENTER for the x,y co-ordinates
and the INK and PAPER colours,
the program defaults to PRINT AT
0,Q;INK 0;PAPER7.
At ony time you can leave the
text entering routine and view
going back from the option
page if you required to add
For (
E the it
up a
address, eg.
LET i=50000, and to print the
required message POKE the Item
number info z-1. So to print the
fifth message you would use
POKE 2-1.5: RANDOMIZE USR z.
LD BC. 50000 - POKE the
message number to the
address-1 and CALL the address
Advantages
Apart from being an
economical way ot storing text, it
has the advantage that the text
cannot be read by listing the
basic program. The technique ot
setting up such a text "table" Is
one which has been used
extensively betore the advent ot
good old Inefficient basic, where
DIMming a siring often meons
most of the string is wasted
Each messoge takes up only
the length ot that message plus
eight bytes, the format of the
stored message Is:
1 byte, total length of entry
1 byte, paper token character
1 byte, paper colour
1 byte, Ink token character
1 byte. Ink colour
1 byte. AT token character
1 byte, y co-ordinate
n bytes, the character of the
message
Listing
10 CLEAR 39998
20 FOR 1=40000 TO 40035: HEAD
55
160 INPUT "Enter PAPER colour.
0-7 "| LINE p»: IF p* = "" THEN L
ET p«="7"
a: POKE i,a: NEXT i
30 LET addr=4O050
170 IF VAL p«<0 OR VAL p*>7 THE
N GO TO 160
40 LET no=0
100 INPUT "Enter Y pos. 0-21 ":
175 IF INKEYtO"" THEN GO TO 1
75
LINE y»: IF y» = "" THEN LET y* =
180 INPUT "Enter text. 247 char
"O"
s max. »j LINE t*
110 IF VAL y*<0 OR VAL y*>21 TH
EN GO TO 100
190 !F LEN t*>247 OR LEN t*<l T
HEN GO TO 180
115 IF INKEYKJ"" THEN GO TO 1
200 LET x=VAL x*: LET y=VAL y« :
120 INPUT "Enter X pos. 0-31 » j
LET i=VAL 1«: LET p = VAL p*
210 PRINT AT y,x; INK 1 j PAPER
LINE n$: IF x* = "" THEN LET x$ =
p;t*
130 IF VAL x«<0 OR VAL x*>31 TH
220 PRINT #Oi"PresB Y to store.
N to re-Enter "
EN GO TO 120
230 LET a«=lNKEY»: IF a»="N" OR
135 IF INKEY*0"" THEN GO TO 1
a«="n" THEN GO TO 100
35
140 INPUT "Enter INK colour. 0-
240 IF a«<>"y" AND a»<>"¥" THEN
GO TO 230
7 "| LINE i»: IF i • = •"• THEN LET
250 LET t*=CHR« CLEN t*+8)*CHRS
l»-"0"
150 IF VAL i$<0 OR VAL 1*>7 THE
17+CHRH p+CHR* 16+CHR* i+CHR* 2
2 + CHR* y-tCHR* x+ts
N GO TO 140
155 IF INKEYSO"" THEN GO TO 1
260 FOR 1=1 TO LEN t* ; POKE add
r+l-l,C0DE t*(l): NEXT i: LET ad
ZX Computing Monthly ■ January 1987
IIIU
dr=addr+LEN t
It LET no=no*
1
270
CLS : PR
NT tOi"Any it
□ re ?
Y or
N "
280
LET a»=l
^JKEY* ; IF a» =
By" 0R
»•■
Y" THEN
GO TO lOO
2S0
IF a*<>"
i" AND a*0"S
" THEN
GO
TO 280
300
PRINT "N
jmber of item
3=";no
' ' "Length of
DOOO* •
• "Press! "i AT
3,8;"1. To be
e text
";AT
10, 8s "2.
To SAVE text
data"
;AT
2,8i"3.
\dd more text
310
LET a*=l
>JKEY* : IF a*<
"1" OR
3" THEN
GO TO 310
320
CLS : SO
TO 300*VAL a
»«100
400
FOR 1=1
'0 no: CLS :
J OKE 3
9999
i: RANDOMIZE USR 40000
410
INPUT "P
ress ENTER "i
LINE
420
NEXT 1
430
CLS : GO
TO 300
500
SAVE "te
f'CODE 4000C
,addr-
40000
600
GO TO 100
999
, 35,235, 205,60,32,201
Machine code routine
9C40
0000
ORG
40000
9C40
213200
0005
LD
HL.50
9C43
09
0010
ADD
HL.BC
9C44
OB
0015
DEC
BC
9C45
OA
0020
LD
A, (BO
9C46
3D
0025
DEC
A
9C47
FEOO
00 3D
CP
O
9C49
2808
0035
JR
Z, PRINT
9C4B
47
0040
LD
B, A
9C4C
1600
004S
LD
D,
9C4E
7E
0050
LOOP
LD
A, (HL>
9C4F
SF
0055
LD
E, A
9C50
19
0060
ADD
HL.DE
9C51
10FB
0065
DJNZ
LOOP
9C53
E5
0070
PRINT
PUSH
HL
9C54
3E02
0075
LD
A, 2
9C56
CD0116
0080
CALL
1601H
El
0085
POP
HL
9C5A
oeoo
0090
LD
B,0
9CSC
0095
LD
C, (HL)
9C5D
OD
0100
DEC
C
9C5E
23
0105
INC
HL
9C5F
EB
0110
EX
DE.HL
9C60
CD3C20
0115
CALL
203CH
9C63
C9
0120
0125
RET
END
PRINT 9C53
LOOP
9C4E
*
5E3E
THE MONSTER RUSH FOR
THE NEW
*>,iwMM-m\m
£15.00 for 12 issues U.K.
£18.00 for 12 Issues Overseas Surface Mai
461.20 for 12 issue* Overseas Airmail
Send this form with your remittance to:
INFONET LTD., Times House, 179 Tbe Marlou
Heme! Hempstead, Herts. HP! 1HB.
IM
5I-IGI?T(J||TS
Ray Elder with another
prizewinning collection
of unusual, practical or
ingenious routines.
Security alert
MA Shortl has o similar liking as
I do for 'silly' programs and this
one has no real purpose except
to give heart attacks to
customers who press the keys of
□ Spectrum on the shelves ol
When run the Spectrum sits
there with the usual Sinclair
copyright logo looking innocent
and tempting, but when
Hurrah tor Currah
Spectrum, but It is not easy to
program. A. Welsh's program
provide
manipulation of allophones to
enable you to create a tape or
mlcrodrive dictionary, change
the lines 330 and 340 for
19
REM Blarn
20
CLEAR 63343! FOR n»63346
TO
63367: READ ■: PO
E r>,a:
n
. 40
PRINT #Pl 19BZ Sine]
air R
30
PAUSE ?>: CLS
PRINT
AT
0,
9r FLASH If- SECURITY ALERT ■
6«
RANDOMIZE USR
65346
70
DATA 38,22,92
IS, 13.
3,30,0
,243
21!, 234,239, 16,67, 16
254
29
,32, 24*, 231, 24, 234
ORD GE
NERflTOR
1
a
16
31
( e r r i
3^
35
J6
33
i~* i
AS
t> I
°
■ do ■
4-5
e,->
b;-i
o
o
X
ZX Computing Monthly ■
HIU
Robert Glows mokes II o hat
trick with this, his third published
program in Short Cuts . . .
A great little program which
jld keep voi happy tor hours,
machine code reads sound
each number represents a
'pause' which controls the
juipul. This table ot data must
S2
o
o
i
v>
52
Daisywheel Pictures
Two very short programs which
perform a unique feat,
producing graphic style pictures
on a doisvwheel printer. Actually
any printer could produce this
type of pic and It could easily
be modified to operate via the
Interfoce 1 RS23Z Interface on a
The a
miracle is Char
"The copy ro
.r ol tt
. I (INK) and leoves It
blonk II it Is not [PAPER] coloi
My routine prints a * instea<
□ II give the printer a
; to print In as
compressed d mode c .
-' — togethei
printer, possibly 8
inch Instead ot the usual 6.
'The routine prints sideways
and needs to get 176 character:
with your printer then you will
have to settle for only printing
part ot the screen. This con be
"Finally switch off the
automatic perforation skip If
enabled on your printer, ant
picture ready on tape for the
program to load and then print"
See Figure 1 for example
These clever printer routines win
Charles Barron the Star Cut
ZX Computing Monthly ■ January 1987
planning sessions [Figure 2).
Designed lor use with the ZX
and Alphacom printers It'll keep
churning out the grids until
BREAK Is pressed.
3 REM uDO Grid*
10 INVERSE 1! PRINT AT l,3t"Us
*r Pr-f 1 n*<f graphics grid*
?e inverse 0: print at 2,01-12
8 *4 32 16 9 4 2 I Total*
40 PLOT 0,0: DRAW 0,130: DRAW
210,0! DRAW 0,-130: DRAW -210,0
30 PLOT 220,130: DRAW 34,-0: T
RAW 0,-130: DRAW -34,0: DRAW 0,1
30
60 PLOT 26,0: DRAW 0,159: PLOT
33,0: DRAW 0,139: PLOT B0,0: DR
AW 0,139: PLOT 108,0: DRAW 0,139
: PLOT 133,0! DRAW 0,139: PLOT I
40,0! DRAW 0,139: PLOT 183,0: DR
AW 0, 139
70 PLOT 1,17: DRAW 208,0: PLOT
1,34: DRAW 208,0; PLOT 1,54: DR
AW 208,0: PLOT 1,74: DRAW 208,0:
PLOT 1,94: DRAW 208,0: PLOT 1,1
14: DRAW 208.0: PLOT 1,134: DRAW
208,0
80 PLOT 221,134: DRAW 33,0: PL
OT 221,114: DRAW 33,0: PLOT 221,
94: DRAW 33,0: PLOT 221,74: DRAW
33,0: PLOT 221,34! DRAW 33,0: P
LOT 221,34: DRAW 33,0: PLOT 221,
1«S: DPAW 33,0
90 COPY
l«p DAUSF 1! GO TO 10
128
B4.
•jh>
ID
1
4-
d
1
"o t a I
Poster Print
John Scott ot Stroud sent us a
huge screen dump to
demonstrate his Spectrum Serial
8054 printer routine. To use It
load In the screen picture vou
want to print and save It to
RAMdlsk with: SAVE !"DUMP"
SCREENS
Now load your saved version
ot his program. It you saved It
using the autorun line number
then you con go awoy and
torget It (or half an hour as It
takes that long to print it.
The print It done In two
'halves sideways on the paper
and once completed then you
will have to sellotape the two
holves together to produce a
unique wall poster, especially H
you used a graphics program to
create on original picture
u
ZX Computing Monthly ■ January 1987
G
■W, A^R <
tifk M w
t \
S
?
new challenges for
Spectrum Generals.
Tony Hetherlngton
reports from the front.
being Ilia
wargamers. Three new games as replay the disastrous WW1
different os the campaigns they Gallipoll campaign and tangle
simulate add to an Impressive with monsters and wizards In
line up which already Includes Swords ol Sane,
games such as Desert Rats and
Arnhem. Gallipoli
In this latest botch ol blood 'n
guts (or the thinking gamer, The Gallipoll campaign was
typical ol the disastrous WW1
conflicts In which both sides
suffered terrible casualties
lorgely due
Would It be
charge?
Gallipoll
forces) ond Turkish armies wi
the computer ready to plav
game II you haven't enough
players can dlt,
trenches and set bombs oft
under the enemy torces to try to
break the deadlock.
The eipanded version also
om the standard comparison c
ipposlng armies strengths a
strain cover by the Ir '
The oblect I
relatively simple In that the Allies
with a total ot 60.000 troops must
advance to take the Turks main
the 22,000 Turkish troops
The gam ep lay follows
accepted wargame standards
with a cursor being moved
' the toioes Issuing
it make this gome
As well as the usual move
and lire orders Gallipoll troops
can dig trenches forming the
almost impassable lines typical
of WW.
In the eipanded 12BK version
(Included as part ot the game)
n. After twenty shots the
computer evaluates your
performance which determines
" b result of all battles In that
Unfortunately this Spoils the
game reducing a challenging
simulation Into a fairground
shooting gallery. Luckily it's only
an option that con be Ignored.
Napoleon at War
The battle ot Eylau was close n
affair between Napoleon ond
the combined Russian and
Prussian forces ond therefore
ideally suited to conversion Ink
a wargame.
This simulation offers
prospective Napoleons not on!
a computerised opponent but
also digital commanders >f " '
your
orders as best as they can.
If ffiey run out ot Ideas or
their position Is Impossible then
sage.
they'll
Alternatively you can run me
whole battle yourself as In a
standard wargame but I
preferred to use the
Commanders which added a
new dimension to a fasclnotlng
period of history.
The game Itself Is a tricky
bollanclng act between holding
onto the town of Eylau while
striking at the advancing enemy.
.
II lor If
Napoleon at War definitely
captures the atmosphere of the
age ol horse, cannon and
musket.
Swords of Bane
As a change from recreating
historical battles here's a
chance to fight monsters with
wizards In the first computerised
fantasy wargame.
demons are approaching the
village led by the Fire Oemon.
Vou must raise an army of
By spending your
meagre
ds to a large
peasant rabble
This Is no ordinary wargame.
The wizards can hurl spells from
quite o distance and the
monsters drain the life energy
from those that get too close
" n '1 so you must arrange your
es so that when you strike.
kill, otherwise you'll actually
~ the enemy stronger!
Q
<
j..^^ Jj^j
Swords of Bane is an otlempi
e the depth and
lendous possibilities of
fantasy wargamlng which hasn't
There's not the variety of
monster type of characteristics
n ot spells lo Si
wizard opart from c '
The result Is a garni
Ignored by pure wargamers o
will disappoint fantasy freaks.
progre;
campaigns [as c
" >wina Napoleonic battles
te worgaming periods),
ber ot troops Involved
ana me tactics required to gain
any ground at all saves this one
for the experts. The sub game
actually spoils the gome but
can be avoided.
illy Swords of Bone Just
:s smothered In
lack of depth, v
clumsy control system that hod
you ordering troops on □
fraction of the battlefield without
being able to see the rest.
Gallipoli and Napoleon at
War cos! £8.95. Swords oi Bane
E7.95.
(!R$SSHRi;
ZX Computing Monthly ■
////A
MINDP£0$
Peter Sweasey, our surly
sentinel at the portal of
the adventure market
with the pre-Chrlstmas
releases.
well is not! It's Christmas anc
still down here In the damp
o fairy lights to
brighten the dork, nr
decorations to makt
inn
**
^^^^j&S
lugsy
ugsy
The Archers
•e led lo o lolrly mun-
palli young woman
country singer Eddie Grund>
and ageing wine-bar owner
Nelson Gabriel are (tie chase n
Ihe show - like myself — mere made; and you can Indulge In very rare elect tor iris game lo
soi'uUeaai'dreiatior.Kriipiwrh wo god en -ai ngs perform- interesting and amusing Jflu-
' '-- short tor the asking
ide a good deal ot fun
:,.<„,
1TSHSi u 3SS
""&
!=c~ta ™ sssn ™."S,,rur P s z
HUUlJ Ml.
and Crusader are to be con- this age ol Level 1 ? style parsers,
gratulaied on trie quality ol Furthermore, tew words can be
dinosdur poster. Their clue sheel One good point ot Ihe
is very well devised. Neither parser is that it tells you eiaotly
nave 'hey laker 'he easy rou:e what r doesn'; underhand; the
the game □ mishmash rather
thon "lightheaded".
All these laulis would be
Prehistoric
Adventure
|
ind trie Elixir ot Voulh
18 Henley Wood Road, Earley
Reading. Berks RG4 2EE.
<
J r l i-. k !-i.< on. r. w I ■ I ■:: I ■ e. plains •: O'.v-yr- r in It,- so
he evolutionary problem ol advantage ol doing
*hy they're around all he same wi
ipble advanced authentic pr
GRIM
ZX Compuling Monthly ■ January 1987
odd* man
conditio
s and
lorm cards Xparl Irom
solving Inlei
5 about r
factors Im
upposed 1
) con-
Theinstructlonsshou
j novo
e of the pi
lhat 1 gave
review/We
given. Indue
,. ■.
,.:>-
Clotures which do appear are games
gh resolution and pleasom ro player do things like this There
When you need more
loney during Ihe game (you J V
ave lo buy things like petrol. JT Ti i in ha— ■•■■
Irlnks. cor repair's], you must %," , MAW! I \\)
isit Ihe race course al New- , '&''<, lYIU 10 I Ml
lorkel. Once Ihere, you load ( -i"-,*« ■ ■ • _ _
leie 2 where vou have si* ~K^-±A ^ ■ I ■
iraphlcally portrayed races to ^ITOV ■ ■ ■ ■ ■ ■
LINE
fell from ft
Suddenly fast Thursday, there
loud Ihud as something
dungeon roof. The
uusi cleared and my excitement
mounted as a tubby figure with
•- "-'- shoulder slowly
* Could It be?
early, insteod it was the
Press postman, who — no
due lo one Christmas
of sherry too many — had
through the grating. And
ok wasn'f lull of prezzies,
>ur problems No rest lor
Is year . , , Still, at least the
spirit seems to have
ed many of you, since I
n Ihe helpline recently
n Kentilla, re-rc
srlronic. I olwa
this game Infuriating, v
very sluggish input system and
aggravating randomness. One
person who likes it, however, Is
Anthony Dunn trom Camberley.
He wants to enter Tylon's Castle
To do this, you need to untie
H
E L P L I N E
3
<
mothershlp. OPEN AIRLOCK ot this
1o find a treasure. All treasures
should be dropped in the Wellie
Ian Giltillan Is stuck in Delta
tor him and Zelda to arrive.
When the offer is made, CLIMB
UP. Thanks to Anlhony for a
complete solution to Mlnd*tone
by The Edge. Stuart Bell from
County Durham asks a number
of questions, the answers to
which are as follows. lo cross the
sea. you need the oars for your
boat [EXAMINE VEGETATION for a
second time], PULL BOAT out to
seo. then GO BOAT and ROW
WEST. When it starts to flood. BAIL
OUT BOAT WITH CHALICE. PUT
DIAMONDS INTO CRUCIBLE in the
tory. PUT CRUCIBLE INTO
UP.NACE, TURN DIAL TO ON then
'URN DIAL TO OFF and remove
crucible again. To open the
st you must dip the gold key
the green fluid in the
< your ring off first. Kill the
attling quarg before carrying it
across Ihe River Cara.
Word ot Disintegration which he
wishes to kill. You need to wear
gold ring. The troll can be
id with the crysfal. John also
pleas I printed in the
November issue, for which I
:. him. and he asks for help
with Madarin's Time Ot The End.
STROKE ANIMAL in the Oasis; and
when back in the Allen Lab. use
? robot to fin equipment.
Paul Newport wonts to lower
= chandelier in Sorcerer Of
Claymoregue Castle. Go lo Ihe
""-'- Room and PUSH WEST wall,
which will enable you lo find the
Methuselah and unravel spells.
Go to the Ballroom. CAST
UNRAVEL, leave quickly C
Next up, sor
games, starting with the "wacky"
Quest For The Holy Grail. An
he has found the artefact in
question. You must return with It
to the Throne Room at Camelot
and PUT GRAIL ON THRONE.
Avoid the sorcerer on your way
ouf of the coves
Andrew Neville wants a job In
Melbourne House's Hampstead I
train, and hove the bracket from
the industrial estate. Take and
read the cord you are offered,
GIVE BRACKET lo Justin and take
take and wear a suit from Ihe
tailors. Go to the Gentleman's
Club, GIVE CARD and say YES to
what's offered. Thanks for your
Very big problems
The girls from Saint Brides h
ir Very Big Cave
Ogden ■
Advenlu
a tortuous process. Go to Ihe
Wellie house and GET LOG. SAY
COMM to be transported back
to the Debris Room. You cannot
carry bolh the log and the
lamp So provided you left the
lamp in the Debris Room, DROP
LOG, GET LAMP and carry It one
location west. DROP LAMP and
return for Ihe log. Although you
won't be able to see anything,
you can still pick il up and lake
il west. Then repeat Ihls process
ol swapping objects until Ihe
chasm, where you can drop the
log lo form a bridge. And —
don'l go back until you he
glass plummet.
ar the
Deleal them then EXAMINE
CHARACTERS. You'll find a
is mens
eat you. Then CRY HELP And in
The Hobblt which Ion also
asked about, you need to wear
the ring to successfully escape
In the barrel. It keeps slipping
off. so check carelully.
And finally, Nick Bailey ot
Addlestone Is unable lo leave
the first few locations in
Interceptor's Aftershock. You
need the chair from your office
Take It to the lift, EXAMINE LIFT,
CLIMB ONTO CHAIR, REMOVE
what you found on examination
and CLIMB OUT OF LIFT.
Many thanks as ever to John
Wilson of Rochdale.
Write to me
Grandmother Is asleep in Iron! of
the Queen's speech on telly.
Young Johnny has already
broken Jones doll with his He-
Man. The radio-alarm clock
won't work and you were given
live last year anyway. The place
Is covered with wrapping paper
and, to cap It all. you can'l gel
out ol the first localion of the
bloomln' adventure which Aunty
Delrdre bought you. You've been
trying It since Johnny woke you
up al 4 am in the morning and
It has definitely put paid lo any
A few rules: British
correspondents, please enclose
a stamped, addressed envelope
If you want a personal reply
magazine to come out. II you
are wriling from abroad, lust
enclose an envelope — I'll add
the postage. I try to respond
reply). I ONLY DEAL WITH
ADVENTURES. Not arcade games:
nor technical problems (write lo
Crosswlres about those]; nor
arcade adventures [Gargoyle
games included). Finally, please
put the name ol Ihe game
you're writing about on the bock
of Ihe envelope
help, Christmas cake, unwanted
presents, cards and tinsel to:
Mlndplay. Dismally Undecorated
Dungeons, ZX Computing. 1
Golden Squore, London W1R 3AB
Hope you all have a fun time
See you In '87 1
ZX Computing Monthly ■
»«•
•*^A
■ ::''z
1 K£"J3
'■H -i Tih^WI
Forget Batman, Bond
and the rest of the
everyday heroes. In US
Gold's Infiltrator you
ARE Johnny "Jimbo
Baby" McGibbets!
&) #
Brian Becket reviews
Digital Precisions
Professional Astrologer.
^»ur fare dear Freddy lies not In
our stars but in ourselvesl This
clever paraphrase of
Shokespeore [whom I'm sure will
forgive rne) is for Digital
Precision's ever-inventive and
personable managing director
Freddv Vachha who has
sophisticated QL astrology
program upon a weary and
troubled world Increasingly
desperate to gain □ measure ot
insight Into whatever passes lor
destiny In these cynical days.
Professional Astrologer sells for
£59.95 or E69.95 depending
upon an optional Professional
— I do not believe In astrology
and rate its "scientific" worth as
more or less equivalent to the
old Roman custom of forecasting
events by reading the entrails of
sheep. While astrology is a good
deal less messy and far more
likely to keep the RSPCA off your
today's world — an Inexcusable
eierclse In the surrender of
rationality to unreasoned belief.
A great many believe in
astrology to at least some extent
(a great many people also once
believed the earth to be flat]
a good program catering to
their needs and Professional
Astrologer is an Indisputably
good program. Besides,
according to the
[comprehensive) manual, neither
Freddy Vachha nor chief
program developer Elmar
Duenssar believe In astrology
Impressive piece of professional
software and would seem to
contain ]ust about every feature
required (or the complex
calculations required by those
who lake astrology seriously
enough to buy a program to aid
there
ren plenty of scope
ersonally I Intend to
those glassy-eyed trendies who
invariably appear ot ony party
anywhere fo stand around
innocent o
t their signs
leave all that
ought to be a good
Professional Astrologer also
allows (or some phenomenally
accurate modelling of the solar
system and projections of
planetary positions so that it is
possible to use It tor truly serious
purposes [on astronomy
package of equal power would
QICOLUMN
n excellent program
package w
competitor on any n
y "i f - If
rth the program
nual Is Impressive
f. The program's
o flexible Ihot
deslgi
tailoring ond is:
highly personoli:
the order of the doy. There's an
Quill] that will produce length
ond detailed documents/reports
of a professional standard.
All together, the package
accounts lor some 400k but Is
designed to run easily on an
unexpanded QL and its
versatility and power makes one
e the scope for high
mpullng that is actually
n the machine is
taken such a profession a I
approach to QL programming.
ZX Computing Monthly ■
Micro-astrology
The development ot Professional
Astrologer drew upon the
consultancy services of honest-
to-god astrologers so — if you're
ot the scepticism voiced by the
specialists who put It together or
ot Ihe agnoticlsm ot some
efficient but I can't suspend my
disbelief enough to honestly
comment on the results My spies
enthuslostlc attitudes towards
Professional Astrologer In the
star-gazer circle so. If you want o
computer package (or better
garlng, this is undoubtedly the
one to get. The package will do
all the things a good astrologer
These include character
evaluation from planetary
partner options], day-to-day and
year-by-year forecasts It you're
Intending to go Into business as
the neighbourhood Merlin, the
word "professional" In the title is
fully justified. The package Is an
be an absolute delight).
If we can look lor more
quality software for the QL as we
Digital Is one ot the lew
companies who will provide It a
most ol the others are now
seeking new claims In more
promising gold fields I got a
couple ot arcade games
[Oroidzone and Block lands)
shipped to me along with
Professional Astrologer as well a:
a pile ol other recent Digital
products, so you're likely to be
reading a lair omount about the
company In coming columns.
For the moment, all I can say
Is that my 9-year-old finds
Droidzone fast, exciting and fun.
but that sadly Blocklands came
suggest that II Professional
earlier, Sir Cllve could have
caught a glimpse of things to
instead, or should we Just take
the old Greek view that while
does have an Inalienable right
lUU
Thinking of bu'
printer? Alan Davis
aps out his chosen
route through the
hardware jungle.
indeed, you could hardly help
noticing — that ihe long-
suffering Hay Elder spend!
lime In Crosswlres" unrav
problems with printers than
spends on any other single
topic Month after month. It
seems, one poor soul after
simply because some porticul
combination ot hardware won't
do what it was bought to do —
print hard copy!
To these unfortunate people
have but one thing to say: I
deeply sympathise! Speaking
purely personally, I tend '-
printing
Without
ARS
e died, then a second, c
finally a third. I decided to
abandon this head-banging
exercise in favour of something
that actually worked. At (haf
time the Seicosha GP50 had just
become available, ot what then
initial scepticism and resen
time I have to spend getting ir
people, I buy a piece ol
equipment because I expect
to make my programming life
easier — and days spent
fiddling about just to make It
work are. to me. wasted days.
To those who are in the midst
of llfe-or-dealh struggles with □
Mindboggler Mk2 printer and
offer no comfort except to poinf
you towards Hay Elder the
Crosswlres Wizard. However, to
those who are still merely
thinking of investing in a decent
printer, but haven't yet
forced Into the purcha;
full-size Job. And '
eventually the Ir
happened: the i
died noisily In rr
out by two years
little story tc
helpful.
Like many a Spectrum
programmer. I started out In th.
early days with [no sniggering,
please) a ZX - —
dragons], though I had a nolio
thai the Cenlronics GLF> was
generally considered a
reasonable machine at arounc
E150. What I was hoping, you
keeps his finger firmly on the
ing that I'd get good
previous occasions). What I said,
effectively, was this:
"Given an Interface 1. which 1
already have, and the fact that I
don't want to spend doys writing
utility programs to drive it. what
printer should I buy? Would the
GLP do?"
e. Forgt
i. Go fo
vlll set you back £190 or so,
but you'll get o superb NLQ
option, a wide range of print
styles, lull Epson compatibility,
dumps at the press ot a single
key, tractor feed or single sheet
loading, and I guarantee you'll
be able to take it home and
Lacking faith, I demurred
at first. After all, the GLP wa:
cheaper, I said. But my adv
was adamant, pointing out
•r the Amstrad b " "
vhlch has been such a blight to
o many? Beaching for the
;hequeboak and the prayer
not, I chose the latter course.
Now I don't normally keep
first developments (perhaps
ZX Computing Monthly -
Kempston Interface looks offer
You like a fairy godmother: just i
handful of commands, simplv
b than this;
arriving home with the stuff, I
had printed out the entire tent of
□n ortiele for ZXC using Tasword
2, a lengthy assembler lisling
from Hlsofts DEVPAC, a BASIC
program listing, and three or
lour enlarged screen dumps of
excellent quality. The Amstrad
printer manual Is wonderfully
Kempston c
Interface — which makes tl _
difference only E30; lb) Getting
screen dumps on the
G LP/1 menace 1 combination
wouldn't be straightforward; (c)
The print quality of the Amstrad
knocked the GLP into a cocked
hat — an opinion I could readily
agree with after seeing a
sample printout; and (d) He
G LP, 1 1 menace 1.
I gave In, scraped together
the extra cash (which hurt!] and
took the plunge. 8ut I didnt
regret it. To give you some idea
>asy It all w
fuss Is about. Of such people I
can only stand in admiring awe,
and apologise tor wasting their
time. At the other extreme,
however, I can foresee a different
reaction from those who mlnht
perhaps thus:
very fine (or him. but ne nas a io
of programming experience,
ond what he finds obvious may
s beginners,
hands-on experience of printers
other than the "ZX" type before
this. II It was painless /or me.
then so will it be for you.
There are probably countless
~""~s of devices which
op.?-n
; Bui
quality which will enable you I
produce more than merely
acceptable word -processed
material: It you want listings or
screen dumps at fhe press ot a
key; and it you want to sleep
easy, knowing that all this can
be achieved with the minimum
of fuss — well. then. I'm sure yo
could do a good deal worse
than to go for the Kempston
"E'VAmstrad DMP 2C0O
DISCS
AT LOW PRICES
IN PLASTIC LIBRARY CASES
BULK DISCS AT CRAZY PRICES
LOB00
IO (p loner)
Colour Monitors. Massive Discounts
Philips BM7502 (Green) £79,
Philips BM7522 (Amber) E69.
Philips850l (Med -res Colour) £199,
Philips8533 (Hi-res Colour) £269.
JUST DISKS
18, CRESCENT WAY, GREEN ST. GREEN,
ORPINGTON, KENT BR6 9LS
a Tel: 0689 61947 —p.
All prices include VATandPSP ^Et
BINDERS
FOR YOUR VALUABLE
COLLECTION OF .*-.
ZX COMPUTING * E5.J
MAGAZINES ', l"
SMART EASY TO use »J"
■TOP QUALITY
If an advertisement
is wrong we're here
i the press, in print
on posters or in the cinema which you find
unacceptable, write to us at the address below, *
The Advertising Standards Authority Jf
ASA Lri, Dtp! 3 Brook Houh, Tomngmn Place. Lcndon WOE 7HN
ZX Computing Monthly -
STREAMS
AND
CHANNELS
<
O
O
a
Q.
o
LU
a
Toni Baker sheds light
on windows for all
Spccirums.
them Also we introduced tr
concept of "user defined
channels" — that Is — new
window, which I hove called
■'Fast" and "5low" windows
(although in practice there
difference in speed between the
two). A "Fast" window will do
exactly whal is described above,
and no more. The standard
character set is used (although
this may be altered by
changing the system varloble
[CHARS) al address 5C36] and all
characters are eight pixels wide.
A "Slow" window, however, has
two Important extras. The (Irst is
lell-justitlcatlon. Put simply this
program to CLOSE a user
defined channel. Apologies are
due here as unfortunately it was
riddled with bugs, so I've listed a
new version in this episode. You
might like to play "Spot the
bugs" by comparing last month's
listing to this months - see how
many you can tlnd! The
included version works, however,
as does the rest of the program.
Windows
delined channel called a
WINDOW. The concept of a
window Is very simple. Users of
the OL will already be familiar
with them. A window Is a
rectangular region of the screen
which may be treated as It It
print text to a window It will only
appear within the confines of
this rectangle, and once the
window gets completely full it
will scroll Independently of the
III not be split up -
ord is too long to IH
paused the screen will appear
to freeze. Vou may then press
either SPACE (which continues
with the scroll) or BREAK (which
will break out giving report
message D BREAK - CONT
repeats). Even if the scroll pause
is disabled it will si. . bo ponr^
to break out at the point ot
scrolling by pressing BREAK.
The Spectrum, unlike the QL,
does not come equipped wllh
the statement CLS N (which
to make special provision to
ensure thai a window may be
cleared easily tram BASIC. I have
used CHRS as a clear-window
control, thus to clear a window
attached to stream tour It would
II automatically
PRINT 4;CHR$ 0;
can put other print Items on the
same line ol course All of the
normal controls are allowed,
including AT and TAB all ot the
colour controls [PAPER. INK, FLASH
and BRIGHT) as well as INVERSE.
OVER is not Incorporated,
however, when used with SLOW
windows OVER 1 will switch to
printing with double-height
characters, while OVER will
revert to printing with single-
height characters.
As was stated in the last
article, all of our new user
defined channels will be
Identified by the fact that IX+05
will contain the two-byte value
1234h. where IX points to the
channel information block
Figure one lists the channel
information used by a window
channel. Note that If the window
is a Fast window then
W_ SCROLLS [IX+15] will be the
last variable - IX+16 and
beyond will not exist.
ZX Computing Monthly ■ January f9B7
(IDC*
The program eommenc
defined channels, not just
windows. Al address B000 the
routine CLDSE_NEW will close
the new channel which is
lined channels. I
lost It this routine is used. At
address B06D the routine
OPEN_NEW will open anv new
attach It to a stream. To use this
sub-routine the registers must be
p re-assigned with the required
values, as specified In the notes
BD61
■■!■ ch -j
yn mot Mecessarny ail 01
n. CNR. TYPE (address B0B7]
will e»pand keywords, and will
count Incoming control
ling Sp
[see Figure One;
■ding
,.u. „ t e character
i sign (lag Is set, It
j done for this
... CHS_ TYPE_2
B12F) will also d
mannei win o
sign (lag set if
finished.
then we come to the
n itself. The program w
>th on 16KI48K Spectrur
the Spectrum 128, in
prog
■-.f ■
that the Spect
uilt-ln software wn
make up
n the
128 must e
12S in 12BK r
possible to c
le Spectrum
e stack resides below
aaaress BFFF otherwise the
program will crash,
screen one It is only necessary
to set oil 7 of the B register (they
co-ordinate of the window) when
opening the channel.
window channel. Firstly you must
assign the registers as defined in
the notes above OPEN_WINDOW
[address B212), and then all you
OPEN_WINDOW itself Voila. the
|ob will be dona and you can
use the channel in BASIC |ust as
9KM
n
ZX Computing Monthly ■
im
£. m«
s
SBS^
sstz.?^
S «"■'
"""/""""* ■""*
■com
11B.HI,
-'£?■ ISjSf "
S,., """-' sMC
;.; ; .'.
u "n™-'*™
ir SSJ554"
L |«
....... ..„_ ^ _,.
h "
SVSSu™
toHB.*™-
r™ £™ B
g^asMats.
!iS?.
p"H«sT'
T »-
.« m .
"™
MM....,,.™:,:...
1™™ ™" "
bis™.
«.™ u &&SS&1
s
£
<
a
O
O
a
CHANNELS
I The Windows program will continue next month.
THE DISCOVERY
COLU
o
o
5
o
John Wase presents
more useful routines tor
Opus Disc Drive
owners.
Spectrum's
perhaps tended to
iur-ie-r
obscure »._ ._.
of people using It lor serious
purposes such os word
processing For the forgotten
millions here is an excellent
emitted by J. P Riches of
Warwick.
Like most Spectrum owners. I
save my text to disc frequently.
Thus 1 usually split a scientific
paper Into three or four files
'--imbered 1. 2. 3 and 4) with a
- - c or d to identity Ihe
various versions. Indeed, this sort
ot system is implicit in the
Tasword 3 manual (TEXT1, TEXT2,
TEXT3). It is therefore a particular
lev lo have received a program
which will erase all these files It
you type In TEXT.
Directory
The program (Figure 1) first
erases the tile "direclo'y" I
1 [line 115). A subtle touch
lino is the. u«. nttheorlgi
ix [ERASE
"m'!1!'dlrectory") rather than the
shortened opus version [ERASE
1 1'd I rectory") as the former returns
no error message il the file does
not exist, A new file named
"directory" Is then opened and
the disc catalogue Is read Into
It. This ensures that the original
catalogue file Is not disturbed,
and thaf the program can be
used on twin-disc systems.
Main menu
ately afler this, the
=ads in each entry from
ectory file in turn. The
i line is 5140: this
ares the strings (to "end 1
ana n they agree, erases the
appropriate tile, continuing In c
loop until the end of the
directory is reached.
Twins
For users of twin discs. Insert
menu optlor.
150-200), the principal command
being to kill text files. In additlr-
you can re-boot the disc (this
gives the standard "run"
program which one assL
CATalogue the disc if yo
forgotten which tiles to k
last, reset the machine.
Erase, erase . . .
The Textkill optli
to input a drive number and
assign It to "d". Assuming that
the program is on disc 1, insei
"d" instead of the disc numbe
In lines 122 5140.
And finally . . ■
Don't forget to save the final,
preceding tt"
ising the I
Opus Assembler
conversion
ZX Computing Monthly ■
GENS3; nor, for that matter, a
GP100A printer at home whei
this column Is put together, b
thought it was so obviously
useful that I have Included It.
BASIC saver and loader
In the BASIC listing [Figure 2] line
e 60 enters SENS and
unigira trie value ol t to the
result to Indicate II a LOAD, SAVE
ar ERROR was requested. The
auto-start line Is line 10.
Assembly listing
The main explanations are
included in the listing (Figure 3).
Just one or two small points
remain. In the first place, the
code leaks disjointed, but this is
portly due to having to fir il into
the same space as the
ZX Computing Monthly ■ January 1987
ma
3
u
First, type In Ihe BASIC listing.
SAVE It to disc with an auto-start
at line 10. Next, do CLEAR 25999
and load GENS code at 26000;
reload the GENS code al 50000
listing (Figure 3). Once this Is
complete and checked, do an
assembly to generate the Opus
version ot the code from 50000
onwards Finally, SAVE this as
"gensSd'CODE, 50000, 10046.
" " — i. completes the
routine tor Ihe Seikosha GP1QQA
printer (Figure 4). Printer dump
routines operating through the
Opus port are always welcome,
but please note my a
at the bottom of the c
ZX Computing Monthly ■
urn
GET A PIECE OF
THE ACTION!
Your chance to win
Mikrogen's new shoot-
em-up set in the
mobster ridden streets
of 1920's America.
;emly
just released Cop Out. c
operation to track down Illegal
stills during the prohibition era.
Chosen as the game for
Mikrogen's National Computer
Games Championship final held
at the Savoy In London, Cop Out
requires deadly accuracy and
split second liming to uphold
Cop Out Competition
i. ZX Computing Monthly,
Piece of the action
To get a piece of the Cop Out
answer three simple questions
on the prohibition period.
1 A Speakeasy was
a) a loud nailer
b) o microphone
c) an Illegal drinking den
2. Bootlegging was
a) o fashionable dance
b) making illegal hootch
c) emDroidered insoles favoured
by leading gangsters
3. Spats were
a) footwear favoured by leading
b) a slang word for bloodstains
c) ammunition
Send your entries to Cop Out
Competition, ZX Computing
Monthly. No 1 Golden Square
London W1R 3AB
The competition Is open to all
ZX readers except employees of
Argus Specialist Publications.
Chase Web and Mlkrogen.
The editor's decision is final
and no correspondence con be
entered Into. Please remember
fo write your answers on the
ZX Computing Monthly • January 1987
the uoarz of
the sbiRes
To battle! Alan Davis
puts the last sliver of
warlike code in place.
although
umbllng of thunder during the
3sl couple ol months, there's
)een little In the way of real
octlon. The breaking
Is long overdue - so
straight down to t
To get yourself o "finished'
version of "War ot the Shires"
(finished, that is. os far as my
own development of It Is
concerned) all you need
' 'II the BASIC progi
L1W
s
<
tfoe coqr of tbe stafRes
arroy, machine
bytes patched
the tape in the
H y,
you'll
e iha!
an at the end of
correct order.
: look at Listing 1,
additior
following:
[a) computer c
movement of the enemy armies;
(b) a battle routine:
jo) an extension to the "explore
h of command
(d) an extra
options.
Interspersed through Ihe
program lor general "tldying-up"
and "housekeeping" purposes,
that's oil there Is to it In play, of
course, you'll find that Itw
than they used to b
ch the Invasion taking
s the forces of Darkness
it from the west. Becaus
the
long as you like, unless the
character you're controlling Is
attacked: it this occurs, the
program Jumps out of ARMIES
mode fa give you full details of
the battle.
It's worth bearing In mind that
the presence o( an army symbol
on the map can mean that
either one army, or several, are
currently at that location; this
means lhat If a particular army
moves between two already
heavily occupied locations, you
The other Important difference
concerns what happens when
you Instruct your current
character to explore keeps or
villages. Provided Ihe leader ol
the corresponding Shire has
been recruited to the cause, the
provisions and eitra men-at-arms
■ . ■■ . you hove an army which
Is alreody so large that it clearly
needs no help. . .]. A particular
keep or village will render this
ale stocks o
*********** ******** *************
** Roland or Greenways **
********************************
Roland stands in a pine rorest
in the Shire or Hartand. He
connands 1248 nen-at-ams who
are in excellent spirits, nt
5 resent they are in good Fettle,
oland is confronted by 1210
warriors op Darkness, preparing
to do battle.
OPTIONS
l : Change character
2: view nap or Houe
3: Explore the pine rorest
4: Attack!
7: Distribute provisions
< Rny other key for fresh news >
********************************
** The Battle of Hariand **
********************************
The clash of steel upon steel
rings through the Shire of
Hariand .
In- the Battle of Hariand, Roland
and his 1213 nen rought bravely
against an amy 1168 strong .
RNY KEY TO CLEfiR >
ZX Computing Monthly ■
CHRS 1 lor this job - though
mony warriors ond provisions
among Ihe freemen of
Green ways as he can. Before
selling off 1o warn the recruits
the leaders of other Shires. As
play progresses you'll be able to
recruited characters, so as to
conducl Ihe war In whatever
way you see fit.
As for the battles themselves
— well, not surprisingly the
outcome of a battle is more
likely lo be in your favour If
you're defending a keep rafher
than fighting In the open. The
bottles occur only between
individual armies: the tactics of
the enemy are to wear down
their quarry by attacking In
waves, one army at a time — so
that even if several enemy
your men engaged with them
only one at a time. Eoch battle
tokes Its toll on the participants,
though subsequent light lo
will restore it progressively,
either by rest, or by r
The game ends either by victory
[the fall of the Keep of Darkness)
or defeat (all Shire led ears
game: you gain access to It via
the "endgame" [more ot which
later) when the enemy has
suffered catastrophic losses.
Customised warfare
As i promised last month, you
now have a game which is
readily playable In lis own right,
though with ample scope for
you fa develop il further. To that
end, lei's take a look at the
materiol In Listing 1, starting with
the additions to the 'explore"
routine. It's clear that we need
the program to keep a record ot
those keeps and villages which
have already supplied food and
men, and an effective way to do
this [though not the most
economical in terms ot memory)
□ kind of dummy
:opy"
>: rhe rr
iThis
mS(22,32). In
which each array element tells
us something abouf the goings-
on af a particular location.
When this array is
dimensioned initially, all its
CHRS32. If the re
leader), we can arrange for III
appropriate element of mSO tt
be changed to some other
Getting down to the details,
then, we find (Irst of all a check
in line 1100 to see II Ihe currenl
location —co-ordinates (x.y) —
contains a village or keep If It
does then line 1105 checks to
see whether the leader of this
shire is still alive and inserts
CHRS 1 at mS (y.x) II he Isn't -
which, as we'll see. prevenls
recruitment there Finally, line
1110 causes villagers to lurn up
provided that [a) the le
th s
-xi v b
jlted; (b) Ihe i
characters army isn't loo big; [c)
mS lv,x) Isn't CHRS 1; and (d) a
gang of recruits Isn't already
waiting here Provided all these
number of recruits [chosen at
random between 100 and 255) Is
inserted Into mS (y.x] In the guise
of the appropriate character
code, ond your character's
stocks of provisions [stored in
a[char.9)) Increased by 1.
This little lol immediately
produces extra opflons for your
oglor
Jl "i-
options" section, you'll
of the "explore"
ies 1200 to 1220.
nly the e
.ugh il
" is accessible
IpiV involves selling the
e "tu". creating the
:e to the tunnel at fhe
n (xtu.ytu) — v.'
iron-.
9 gam
□nofher — and finally permitting
movement Ihrough the tunnel
when the appropriate locatlon(s)
are explored. The existence of
this tunnel, by the way. explains
my suggestion in an earlier
article thai you shouldn't modify
plonk a mountain
h Ihe
happened tc
so that It coinciaea i
tunnel entrance, Ihen It would
make life a shade difficult . . .
The real-time movement at
enemy armies is deal' with in
lines 102-125. This routine Is
called repeatedly either
Immediately after one ot your
own commands, o - : ~ ~
the program a wo 1 1
desperate tlnger-p
keyboard (see the
■
while
im
4S IF il"*'" THEH RETURN
99 S£| fc * TH6H ftFTUf " 1
** t nltWinV notion"***
1 1 °fHEK T R?lljK*^*^ "*'"""*"'"*
1 J IHEH Lfct U(n^3i>FH rVlllf'Sfii
jr let vx=5;+(";?lf>!;"ii'-<uJ?a!
Ck,4)): LET mn,ll=«j: LEI VUaDy
♦J" "JJJJI k - sn-iu«oairk,5)i: Let
D^fcrelilri"" ' 1 G ° " a0BS - <5 flH
399 BE " * MoJInent*********
400 IF NOT*a(charJlf*THEH*RlTUR
JOS IF battle THEN RETURN
char-actef*rj!!c?*ptiSr!*
and Opt.ons
SUB 38: GQ*SUB%: PAUSC'loO: R
xj a THEH 9 GQ 3 TU H fiOQB 2 flMD "° T ""
(chari j-_ is'conf rented by "*strJ
h Recruit 5 "°STRi"couE H n*i nB x» -" 6:
is's.itcsipi^Ois^pT^ks 1
LET 5 n^y"2I=CHR* J'"****" THEH
l^Oo''lF'NOT a t U ,1 B!Iu 9 tot<lSO0O THE
tUilD+FH r(6»: GO SUB S: PAUSE
"" " <15
►
ZX Computing Monthly ■ January 1987
U1U
through nany dark, passages, "*t
=1 CL LET rkIcha": e LETux=aCrk,
LET u U ra(rk,S): LET i*. "The
el B UPOn sfeef^ings through t
5
a.
I
n the tr
jslgned a specific
d at the apt
.... only exceptlor
armies 66 to 70 Inclusive, who
have the doubtful honour ot
standing guard at the Keep of
Darkness.
This Is what each line does:
102: Choose at random one of
the 65 mobile armies ("ml
provided it still survives!
103: Check this army' "target"
(tk); If It's alreodv been
despatched to the Great Shire li
the Sky, assign another target at
110: Store the armies current
location in the temporary
variables vx, uy. Compare these
with Ihe location co-ordinates o
the target, and compute new
co-ordinates vx, vy which will
bring the army one location
closer to Its target. Move the
army to this new location by
changing u[m,4) and u(m.S).
115: The array t[22,32) stores the
TOTAL number ot enemy warrior;
at each and every location, on
happening her.
program is currently in
ARMIES mode, then the map
graphics need updating loo —
Instructions are tor.
120: II
its target, this turn is completed.
122 & 125: Let battle commence!
A suitable message Is flashed H
the program Is in ARMIES mode,
before batlle Is actually Joined.
The variable "Ind" Is used to
distinguish between attacks
Initiated by the enemy (ind=1)
and those mounted by the
player (lnd=0).
Into battle
And this, noturolly, brings us to
luence The si
is the
s battle
enemy launches the attack —
the only difference being the
entry point; battles Initiated by
the enemy and taking place
"behind the scenes" enter at
line 2005. with the appropriate
already assigned by
routine when text
print-out Is necessary (ie. when
Ihe currently controlled
charocler Is Involved In the
rough stuff), entry Is at line 2000.
The actual combat begins at
line 2005. and follows a pretty
simplistic system.
Two quantities "us" and
two sides according to number,
stamina, and morale [Ihls last
not applying to the enemy) ot
warriors, adding an appropriate
>s don't exceed
wouldn't exactly be conducive
to realism!) Line 2015 updates
Ihe tally of enemy warriors at th
location of the battle as well ai
= adjustment of the
lithe ■— ■
■
according to losses suslalne
[lines 2025 and 20301; and tt
adjustment of the stamina or
strength of both armies [lines
2026(7). All that remains Is the
printing of ony texl needed.
The rest of the program needs
no explanation, 1 think, although
a word about the "IF battle THEN
RETURN" lines might be In order.
These are necessary because
we don't know precisely whot
the player might be doing In the
enemy, and so the progrom
could be |erked Into the battle
sequence from any of several
sub-routines The "IF battle . . ."
else It might have been In Ihe
If you play the game exactly
as given, then with a bit of
thought and planning you could
reasonably expect to achieve a
victory within about a couple of
hours — though you'll doubtless
surfer some tragic losses, and
things may seem desperately
hair-raising In mid-game If you
find it loo easy, then probably
the simples! way of making It
more challenging is to Increase
the number (or perhaps the
Initial strength) of the enemy
armies. Personally. I don't worry
too much about this side ot
things. I find that the tun of this
kind of game (which Incidentally
is no less tun for the author to
play than for anyone else) III
n the v.
■
olvement with the
characters during play: a noble
and desperate defence, ending
In defeat, can be just as
Imaginatively satisfying as a
glorious victory. This ot course Is
one of Ihe great strengths of
gamr
Over to you, then. There's
plenty of memory left (or you to
add Ideas of your own. Vou
might like to add some
adventure-style puzzles, perhaps,
lo add depth to the plot. The
endgame could protlt from extra
sledgehammer Job on the Keep
ol Darkness at present, and you
might like to make use of the
exlra character (Ulrlc) whom I
Included In last month's listing
but haven't. In fact, used.
But Just a moment! What's
that? The faint rumble ot
thunder? Roland Is donning his
armourl Deepmeads has follenl
To battle!
Now where did I put that
ZX Computing Monthly ■ January 1987
David Nowotnik puts
the new version of the
Quill to the test.
QL o
S QL.
mlcradrives. Alternatively,
customers can send £10.95 and
supply the magnetic media. In
this lorm. the manual Is supplied
on one of the cartridges [or disc)
as an ASCII tile, but there Is three
sheet Introduction to get you
started.
The review copy was supplied
□n two mlc rod rive cartridges,
with the manual on cartridge.
a text editor (eg. tram
Metacomcol, although you will
need a RAM expansion to
squeeze II all in. A hard copy
d by COPVIng
sort Is a very poor substitute tor a
proper manual. I COPVed the
manual (lie to an RXBO printer. It
'""" 'o paginate correctly, a
margins came o
•vro.-ig
First steps
automatically think you are
talking about the OLs word
processor. So, It Is somewhat
unfortunate that another product
tor the OL should have the same
name. But the 'Quill Adventure
Writer' has developed such a
good reputation on the
Spectrum that Software house
Gil soft must believe that this
repufatlc
'Quill
program which provides users
wllh a framework tor producing
their own text-only adventure
programs. It Is menu-driven and
quite easy to use. Using a
logical approoch ond a little
practise anyone con produce
The product Is available In
two price formats. At £22.95 Quill
is supplied with a printed
manual and the programs on
In use. Quill' turned out fo
quite Impressive. The manu
takes you step by step in w
a simple adventure with only
■- J with that training,
adventures con
easily within the grasp of any
/enture programmer.
The program depends upon
an adventure 'database' being
constructed. A basic database
called start' Is provided on the
cartridge, and the first action in
setting up any new adventure is
actions is then something like
this:
First set the screen sire (by
adjusting fhe border), then
permanent Ink and paper
2 «""
new location, (or example;
"I am In the Hall. The Kitchen
Is to the West and the Dining
Room Is to the North"
These texts can be inserted In
a single colour, or mixture ol
colours. Word wrapping Is not
provided, so users have to be
careful to avoid word splitting.
But text can be amended as
well as Inserted In the database,
and there Is good protection
system, which prevents you
accidentally Inserting new text
to location which already has
some During text entry, the
down, as well as right and left,
(or rapid editing. But the cursor
had o tendency to disappear
when moving It rapidly right to
Each location Is assigned a
location number; the next step
In constructing the adventure Is
to link up locations, to give the
'Movement Table'. This Is done
through another selection from
the main menu. Iti quite logical.
If (rom location number 5, you
and north lo 8 then you'd type In
tor location five;
E6W4N8
Movements up, down and to
the diagonal points of the
compass are also possible. You
The end result wos
lust useoble, but very untidy And
If you haven't got a printer, then
you have nothing to reter to
while leornlng to use the
program. Still, Gllsoft do glvu vou
a choice of proper hard coov or
the cheaper, buf much nas: <•■
The manual recommend;
using an EXEC command lo sian
the adventure writer program
but there is a perfectly good
ZX Computing Monthly ■ January 1'
playing the game, you can s(
GO NORTH' or 'GO TO HALU a
the computer will respond to
database Again Irom the main
meru. a single keypress takes
vcu n*o your basic adventure
Diagnosis
e gar
■}. the u
LtllJ
given a 'diagnostics' option.
Supposedly, this provides extra
Information while running a test,
but in the review version, I found
that requesling diagnostics'
made no difference to the
information presented on the
Entering objects, ond locating
them Is also very simple. New
words can be added to the
basic vocabulary provided;
synonyms are easily Identified;
The text recognition routines are
rather basic. They con recognise
only up to two words, and only
the first four letters of a word are
significant.
Probably the most difficult
item to understdnd Is 'the event
table'. Agoln, this is another Item
Irom the main menu, and It sets
conditions to the computer's
response to the player's
commands. In a way, it con be
high level, quite specific
keywords to Instruct the
computer how to respond to
commends. A large part of the
manual Is devoled to explaining
its complexity, and users may
need to read this section a few
times to grasp all the elements
of this programming language'.
A second manual file, useful for
reference purposes, is available
on one of the cartridges, once
you have grasped all the
concepts of the first manual.
As tl
progr
could take several hours, SAVEing
□nd LOADIng your database ore
available options to give you a
well deserved restl
royally, so If you believe your
adventure program is good
enough lor sale, you a" '"
Spectrum version of Quill, to
allow graphics to be added.
Gilsoft are developing an
'Illustrator' upgrade for the QL
version ot Quill: whether it ever
reaches fhe market will depend
on the demand for Quill.
Whatever fhe outcome ot that
adventure program writers could
'The Quill'.
Gilsoft, 2 Park Crescent, Barry,
South Glamorgan CF6 OHD.
ROGUE IN VOGUE
£
O
o
3] Rogue Trooper will be n
Send your enlrv to Rogue Trooper Competition. ZX Computing
I Monthly. No 1 Golden Square, London W1R 3AB
roon:ir
Everyone likes a villain.
How's your chance to
create a whole race of
them and win a copy
of Piranha's Monster Hit
Rated Rogue Trooper
ogue Trooper, the blue
' genetically engineered
soioiki is up against the Norts in
Piranha's new game. But what
happens when he's vanquished
them? Genetically engineered
infantrymen being what they are
Its unlikely he will seek early
retirement Irom his one man
regiment and potter around the
Trooper wl 1 1 be
Christen the aliens
All you h
than 20 words, name
describe these
ingly Invincible toes,
ig them a memorable
dripping with
inlamy Is good (or starters
Then In 20 words describe
how Rogue Trooper will deal
with them. Perhaps he'll need a
of power ol weapon to
son our me fiendish toes you
There are 30 copies ol Rogue
Trooper to be won for ZX readers
who can vividly describe their
alien scourge and Rogue
Troopers antidote.
Send your entries to Rogue
Trooper Competition, ZX
Computing Monthly, No 1
Golden Square, London W1R 3AR
The Competition is open to all
ZX readers except employees of
Argus Specialist Publications,
Chase Web and Piranha. The
editors decision is imal and no
correspondence can be entered
Into
The closing date Is February
ZX Computing Monthly -
Ray Elder with good
tidings for 81
programmers.
threat news lor all ZX81
programmers In the guise of
PauF Kecskemety who has
formed Lightning Software and
who hopes to produce a range
of tapes for our wee dinosaur.
His first product is for us
programmers and Is a program
called ZXTENDED BASIC Priced a
a reasonable £2.50 Inc P&P It
consists ot appro* 5K of mac hint
code additions io BASIC held In
as we wander around our
machine code world.
Storing text and numbers,
especially those which remain
constant Is done In a very
Inefficient manner In the ZXG1
Each time o LET AS="ANYTEXr
Instruction is used then the
computer stores this twice once
in BASIC memory and again In
colled from BASIC ond sor
very useful, they Include ir
scrolls, variable lists, memory
string and number handling
utilities.
As programming Is the most
frequent of our ZX61 activities,
mainly due to there not being
many games programs around,
this Is a must for serious users
who dont want to delve Into
Some of the syntax Is a bit
awkward to handle, but this Is
rather a minor complaint.
Instructions are on Ihrei
of typed foolscap a _ _.
on the brief side Contact:
Lightning Software, 95 Penton
Drive Cheshunt, Herts ENB 9RU.
Other programs Including
e pages
' :
H gam
watch this
REM lines
Steven McDonald of E. Lothian
sent us a routine to create HEM
lines, this Is a little more versatile
than the one I printed some 9
months ogo ond is worth adding
It works by building a
program line In the work space
oreo (E-LINE], and then using the
ROM routines la enter It Into the
BASIC area - very neat.
Storing and saving
I thought we'd have a short
discussion this month for the less
expert among us, many of whom
exist but we rarely think of them
character space it
"«g»°
also
Indicate o
bytes to store It in floating point
This short routine will
demonstrate this:
10 LET X=25
20 FOR 1=16514 TO 16535
30 PRINT PEEK I
40 NEXT I
When run there Is a list of
numbers, the first four numbers
length, the next Is fhe cade of
the keyword LET followed by the
code tor x,=,2 and 5.
After this comes the number
Indicator 126, fhe five floating
point bytes and finally the
number 118 which indicates the
are using Integers by using VAL
'■25" to save fwo bytes, but if I
am using Inleger constants then
I either store them In a string by
MRS 27 etc and retrieve
slicing of fhe ZX81 gives i
However the ZX81 has one great
advantage over more
sophisticated machines, It saves
all Its variables with the
program.
So to make the most of this I
always have o routine to
Initialise variables which will
remain constant throughout □
program run, usually those
which are lor PRINT AT* eta and
odd new ones fo It as required.
Then when fhe program Is
if memory, c
I start n
ling
/M
9980 FAST
9981 DIM A*<49>
9982 LET B*-*2A144fl36002336B0233
«00233600233AEA23361CS43ul301010
0EDB03i57F23367623221A40221C40ED7
■ENTER I
LIME NUMBER
9983 FOR A-l TO 49
9984 LET A* (A) -CHR*1 16»C0DE B*tC
ODE B*(?)-<
9983 LET B-
99B6 NEXT I
9987 PRINT
(4 DIGITS) '
99B8 INPUT B*
99B9 IF LEN B»<>1 THEN GOTO 99BS
9990 LET A*t3>«B*(lt
9991 LET A*(8)=B*(2>
9992 LET A*(Iil=B*(3l
9993 LET A*(14>=B*(4>
9994 PRINT -HOW MANY CHARACTERS
AFTER REM ■?•
9995 INPUT «
9996 LET A*(23)=CHR*(A-Z3(J*INT(A
/236) >
9997 LET A*126!-CHR*(INT(A/256) )
9998 SLOW
9999 RAND USR (PEEK J 6400 • 25rt*Pf
To make this less likely I i
programs so they auto storl
Including two lines such as
9998 SAVE "PROONAME"
9999 GOTO lineno
Saving the program Is dt
by typing GOTO 9998. Wher
runleeplng the vorlables s
and make any alterations, <
add new variables to the
memory by direct common
[no line numbers) <
I hope that expert 81'ers will
forgive this section of the page
but I met a couple of new users
[their dads had donated their
e program (GOTO
The disadvantage Is that you
MUST NEVER use CLEAR or RUN
but start the program with GOTO
10 or whatever line you wish.
P A G 1=
II
s
s
<
a
O
O
ZX Computing Monthly ■ Januaty 1987
r
This Is the sequel to Vtay ol the
Tlgef'. o martial arts gome, that
wos ahead ol the opposition In
o number ot respects.
Unfortunately it appeared on the
scene towards the end ot the
rather over-long martial arts
Ninja revenge Is rife In
Gremlins new multi-
faceted martial arts
epic.
softwore houses Into dum
any original and exciting
projects In favour of re-hc
the same sort ol game a-
over again.
h great pleasure that I
lunce that 'Avenger' Is
nothing like Its prequel. and Is a
fantastic game that has
something tor everyone, having
elements ol adventure, role-
playing, (very) last action, and
puHle'maze/problem solving.
The game Is based on a format
very similar to Gauntlet — the
S3 me that has taken over from
e martial arts games In setting
the trend that olTwIII follow.
Nlnja binge
The plof is that having proved
your skills as a Ntn|a In 'Way ol
the Tiger' you must avenge the
murder ol your toster lather.
Naljshl, by the evil Grand Master
ot Flame — Yaemon — who has
stolen the sacred Scrolls ol
Kettsuln. Y 0U swear to the greot
)t I he k.
right. Y
energy and 'Inner peace' levels
on the left, and the bottom third
ol the screen taken up by the
status lines. These tell you how
many keys you hove left, what
ob)ecl you have, how many
Ninja throwing stars you have
left, and how much treasure you
n your person.
The a
plan v
■ ■■ .
with a slight
perspective given to everything
so that you can see objects
Mired slightly - rather than the
pure plan view opted for In
Gauntlet. The graphics are
better than weve come to
expect on the Spectrum. Colour
has been used creatively and
thoughtfully, with none of the
clashing that mars lesser games
Shading has also been used to
great effect, but not over done,
so that clarity Is maintained.
The Nlnja - "
sluggishness The
]er
that I would have thought
Impossible on a Spectrum
only occasionally Is there a
flick' from one section of the
maze to another, rather than
smooth scroll, as the progran
unpacks another section of
The mighty Kwon
performing certain tasks. These
are accomplished by collecting
various useful oblects In a set
order as decreed by Kwon (your
god). Mapping Is essential as
collecting keys and opening
doots should be done In the
right order or you may find
yourself unable to progress
further because lack of a key.
The game Is multl- level led,
with gratings In the floor used Jo
descend Into the depths of the
keep ond trap doors to go up
(rather like a loft door), In all
there are six levels I have
currently seen three ol them and
the other two show the same
kind ol thought that went Info
the level that most people will
see I can only assume that the
same was done to the other
One Interesting point Is the
energy/lives system. When your
energy reduces to zero, one
lOSIHI &
EHIT; 5
force' When
you die However, praying .
Kwon will usually replenish your
Inner force and revitalise yr '"
carry on his work. However,
not o patient god ond
demanding energy too
frequently will result In your
premature death I
Avenger Is excellent, I would
recommend It to almost anyoni
unreservedly.
ZX COMPUTING
Lineage: 48p per word. (VAT inclusive)
Semi display: £9.50 per single column
VAT. Ring for information on series bookings/
discounts (minimum 2.5cm).
"(p
01 - 437 0699
Send your requirements to:
NICOLA BATY
ASP Ltd., 1 Golden Square,
London W1
DRIVE TRANSFER UTILITIES
■1HEZZEHH
FOH THE QL:
K _ Ha
-■osa.'^sS"
w D
oTIwire (IX), Hilltop
St Mary, Jirury, C.I. Ill: (053<) S139!
OUR NEXT COPY
DEADLINE IS
19th JANUARY
19B7 FOR THE
MARCH ISSUE
COMPUTER ENTHUSIASTS!! SN3 SAT
Bd tot? PUZZLER. EJ.95. Send S.A
jb,212 leaflet Pooler Games. 24 Pa
12 3DF Avenue. Daeenham RM9 5i>
WARNING NOTICE
a not infringe any copyright or condition ol sale at
mmmmmsssmmmmsssmsEsSm
DEPARTMENT. NO' I GOLDEN SQUARE, LONDON W1R
□ repairs L_l softwahe □ utilities Dfoh SALE CH
COMPUTING. ADVERTISEMENT
I— I OTHERWISE PLEASE STATE
CLASSIFIED COUPON
PLEASE DEBIT MY ACCESS ; BAB CLAY CARD NO
n 1 1 1 1 1 1 1 1 1 1 1 i i 1 1
Address
DAYTIM
Slgnatu
IF YOU DO NOT WISH TO CUT YOUR MAGAZINE. PHOTOCOPY THIS FORM
o
z
s
s
<
a.
O
O
D£
a.
5
UJ
a.
technical/ .
Graphic*
Toni Baker begins a
new graphics series on
line drawing
techniques.
i The purpos
H graphic
W,th I
ill objects such
□s the animated tlgure which
was featured In last month's ZX
Computing. In this series we
shall keep things nice and
simple. We will cover the
principles of three dimensional
drawing, but we wont attempt
to do complicated things like
shading In according to the
light — that Is something for
perhaps a future series to cover.
Clipping
provided that the whole of the
line will fit on the screen. Now
suppose that the line will not fit
on the screen - for Instance
PLOT 20,20 followed by DRAW
250,250. If you were to try out th
example you'd get the error
report "B Integer out of range"
and the program would stop
mnr; I
Let";
n thes<
;. Take a
fcat
cllpplr
Figure 1. Ihe rectangle
represents the screen areu.
Suppose we want to draw o line
from point [P1.Q1) to point (P2.Q2],
as shown in the diagram To clip
the line we have to move both
if togethe
it will fit o
screen This is done
stages. First we find the point
(M'SMl. which Is the point where
the line meets the vertical edge
the m
Special provisi
tust be
□re entirely
of the screen
point (P2.Q2) first of all to (P2S2')
and finally to (P2'B2"). You con
see that the line segment from
(Pr.QI ") to (P2 "«2") Ties wholly
within the screen and may be
drawn normally.
The same principle will work
even if the line we wish to clip is
not In exactly the position shown
In Figure 1. Wherever (P1.Q1) lies,
we must first calculate (Pt'.on
which will move the point to the
nearest vertical edge onlv H the
point Is to the left or to the
then the whole of th
to the left of the screen,
need not be drown. This
true If both end-points a
icreen. In each of these
is the line Is clipped away
pletely, and nothing should
llcult to delect Figure 2
e only thing you know
right of the screen (otherwise
leave It where It Is]; then we ca
calculate (PV.QI'1 by moving th
ordinates of the end-points then
It Is remarkably difficult for a
program to work out whether the
(P2,Q2)
(P2',Q2')i/
<P2",Q2")_/
/
[PT,QT|
31")
(P1.Q1)
Flgura 1
ZX Computing Monthly - January 1987
i. Fortunately. Ihe w
d (he p
simple All you have to do
work out P (Prjar) ana (P2 1 ; Q2")
using the algorithm above ana
II any of the co-ordinates Is still
outside the screen area then the
line should not be drawn.
Getting around
drawing o circle, we actually
draw a many-sided regular
polygon. The greater the
symmetrical. The number you
need (or any given radius turns
out to be roughly P1*SQflJR)
where R is the radius - this
works well with the resolution
possible on the Spectrum.
It we now sublecl each side ot
the polygon to the clipping
algorithm, so that It will noTbe
w other types
ichlne code. I
« Ihe re
BASIC To draw a clipped line
whose end-points are (P1.Q1) ant
(P2.Q2) then you may use the
BASIC statement.
RANDOMIZE FN S(P1,©1,P2,Q2)
To draw a clipped CI —
-ordln
■s (>:.vi
the BASIC statement.
RANDOMIZE FN C(X,Y,R]
And finally, to draw a clipped
ellipse you need live
parameters. Use
RANDOMIZE FN E(X,Y,R,E,A)
The parameter list Is exactly
<
O
O
at
i-
O
ZX Computing Monthly ■ January 1987
ZX Computing Monihlv ■ January 1987
2X Computing Monthly ■ Jonuary 1987
m
nitre of the ellipse. R Is the
if radius, and E [which I've
e greater than
one) Is the ratio of the lorger to
the smaller radius. A Is the angle
(In radians] which the larger
radius mokes with the horizontal.
Figure 3 shows how all these
parameters tit together to define
twenty calculator memories (fer
for the clipping routine, and ter
more which deal with ellipse
drawing). Since the calculator
only has si* memories built in
extra memory In the workspace
using the RST 30 Instruction, and
then point the system variable
(MEM) to this memory. (MEM)
should be returned to Its normal
value of 5C92 at fhe end of the
routine, and this Is done ol the
label FN_EXII neor the end of
the machine code program. The
actual usage of these memories
M
XI
X coordlnata of atari of llna - KT.S
Ml
Tt
t coordin.tr of atari of lliw - 97.5
-:
V
X coordinata of and of lina - 1ST. 5
—
i?
I CDOTdlut! of and of llaa - B7.5
M
si
-1,0 or 1, if X1 ia laft of, on, or right of an
ran raapaotlvaly.
fS
T1
-1.0 Of 1, If 11 ia bolo., on, or abova acraan
raapacti».lj.
z
3 '
.1
-1,0 or 1, if X2 ia laft St, on. "^ ^"
re en r.apactivaly.
raopaotivalj.
>r-
67
5
Half tha halght of tha aaraan.
M
Half tha —jar alia of allipaa.
ta
■
Half tha ainor aria of alilpat.
MD
w»UJ
) ^ to ^J.^^
ME
il
UWla aubtandad "oo far".
Y?
Uount by which 11 ia incraamtad on each paaa
ma
T
X ooordinat. of point on (UlpH.
z
■
;:::":: r, ::;;:::;„:::
Flgun 4
BASIC program (Figure S) which
demonstrates the clipping
routines by drawing a rather
nice pattern out of lines, circles
and ellipses, which are too large
to (It on the screen. Give It a run
and see what vou think.
In machine code, the moln
clipping routine is fhe routine
labelled CLIP at oddress 8052.
which requires P1,Q1,P2,Q2 at the
that order. The routine ELLIPSE at
address 811E will draw an ellipse
It requires the parameters
X.V.R.E.A, In that order, at the top
o( the calculator stack. The entry
point from BASIC will be either
FN SEGMENT [address 817B).
FN_CIRCLE (address 8186) or
FN_ELLIPSE (oddress 8192),
depending upon whether FN S,
FN C or FN E were used.
In the next article In this
series, we'll start taking a look at
3D, beginning with Isometric and
other simple kinds of projection
(don't worry — It's easy). See you
then.
10 FOB I - TO PI STEP Pi/20
20 RANDOMIZE FN E(l28,88, 60,2,1)
50 NEXT I
40 FOR I * 60 to 120 STEP 20
50 FOR J = TO 4
60 LET A1 = (2*j/5+.5)*PI
70 LET A2 *= (2»(J+2)/5+.5)*PI
80 RANDOMIZE FN s(l28+I*C0S A1,8B+I*SIN A1,128+I*C0S A2,88-t-I*SIN A2)
90 NEXT J
100 RANDOMIZE FN C(128,BB,I)
110 I
1 I
120 DEF FN S(A,B,C,D) = USR 53147
150 DEF FN C(X,Y,R) = USR 53158
140 DFF FN E(X,Y,R,E,A) = USR 53170